下面这段代码,有时不知怎的网页会出现 “文件“…..”正由另一进程使用,因此该进程无法访问该文件。” Document document = new Document(iTextSharp.text.PageSize.A4, 25, 25, 25, 25); document.Add(new Paragraph(“姓名:” + truename, fontTitle)); document.Close(); |
|
程序锁定文件没有释放,资源存在访问冲突,就出这个错误了
|
|
FileStream使用完毕后要close dispose你这段代码没有关闭fs 下次访问这个文件自然会被占用
|
|
FileStream 使用之后要close,使用Disponse 标记为为无用资源。
|
|
资源没释放的问题
PdfWriter.GetInstance(document, new FileStream(Server.MapPath(“/userPDF/” + faTitle + “(” + userid + “).pdf”), FileMode.Create));这个地方有问题,FileStream要处理下 |
|
40分 |
文件句柄打开和关闭要成对,
特别是异常处理时,要注意关闭 |
实例化一个new FileStream流对象,然后document.Close();这句后面释放新创建的那个流对象
|
|
谢谢诸位,请问哪位能写出具体的解决代码?分全给了。谢谢!
|
|
FileStream fs = new FileStream(Microsoft.SqlServer.Server.MapPath(“/userPDF/” + faTitle + “(” + userid + “).pdf”)
PdfWriter.GetInstance(document, fs , FileMode.Create)); …….. |
|
采用楼上代码。出现:CS1729: “System.IO.FileStream”不包含采用“1”参数的构造函数
请问该如何纠正? |
|
FileStream fs =PdfWriter.GetInstance(document, new FileStream(Server.MapPath(“/userPDF/” + faTitle + “(” + userid + “).pdf”), FileMode.Create));
这样呢? 看看PdfWriter.GetInstance返回值是什么类型,赋值给一个变量 |
|
按楼上的代码运行后,出现错误:
CS1502: 与“iTextSharp.text.pdf.PdfWriter.GetInstance(iTextSharp.text.Document, System.IO.Stream, iTextSharp.text.IDocListener)”最匹配的重载方法具有一些无效参数 行 723: PdfWriter.GetInstance(document, fs, FileMode.Create); |
|
现在的代码是:
Document document = new Document(iTextSharp.text.PageSize.A4, 25, 25, 25, 25); //生成的PDF文件名称 //PdfWriter.GetInstance(document, new FileStream(Server.MapPath(“/userPDF/” + faTitle + “(” + userid + “).pdf”), FileMode.Create)); FileStream fs = new FileStream((Server.MapPath(“/userPDF/” + faTitle + “(” + userid + “).pdf”)),FileMode.Create); PdfWriter.GetInstance(document, fs, FileMode.Create); document.Open(); 按楼上的代码运行后,出现错误: |