0

我正在尝试创建/覆盖刚刚在我的网络服务器上的文件夹上生成的 pdf。如果我在开发中本地运行下面的代码,它似乎工作正常。但是,如果我在发布它后在网络上运行它,我会收到消息该进程无法访问该文件,因为它正在被另一个进程使用。即使没有人打开它。我尝试过 Dispose()、Close() 和 Flush() 但没有运气。还有什么我可以尝试的吗?TIA

Dim Doc1 As New Document
    Dim path As String = "\\server\PDFs\"

    Dim myUniqueFileName = String.Format("{0}.pdf", random)
    Dim pdfWrite As PdfWriter = PdfWriter.GetInstance(Doc1, New FileStream(path & myUniqueFileName, FileMode.Create))

    Doc1.Open()
    Dim test As String
    test = Session("PDF")
    Dim PDFHeader As String
    PDFHeader = Session("Header")
    Dim imagepath As String = Server.MapPath(".") & "/images/Header.png"
    Dim image As iTextSharp.text.Image = iTextSharp.text.Image.GetInstance(imagepath)
    image.ScalePercent(70.0F)
    Dim line1 As New iTextSharp.text.pdf.draw.LineSeparator(0.0F, 100.0F, BaseColor.BLACK, Element.ALIGN_LEFT, 1)

    Doc1.Add(image)
    Doc1.Add(New Paragraph(PDFHeader))
    Doc1.Add(New Chunk(line1))
    Doc1.Add(New Paragraph(test))
    Doc1.Close()
    Doc1.Dispose()

    pdfWrite.Dispose()
    pdfWrite.Flush()
    pdfWrite.Close()
4

1 回答 1

0

我之前遇到过类似的问题,同样的错误,实际上是权限问题。我不知道 .pdf 最初是如何在那里创建的,但就我而言,如果我从本地 PC 将文件直接复制到远程服务器上的位置,则会出现错误,但如果我将其复制到其他地方,然后远程到服务器并将其移动到该位置,它更改了权限,我可以访问该文件。

希望这会有所帮助。

于 2013-09-26T16:18:50.747 回答