下面这段代码,当执行过程中出现错误后,再运行,就会出现 “文件“.....”正由另一进程使用,因此该进程无法访问该文件。”
请帮我写出关键代码,分全给!谢谢!
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));
document.Open();
//姓名
users model = bllname.GetModel(userid);
string truename = "";
if (model.username.Trim() != "")
{
truename = model.username.Trim();
}
document.Add(new Paragraph("姓名:" + truename, fontTitle));
document.Add(new Paragraph(faTitle, fontTitle));
document.Close();
bc.MessageBox("文件生成成功!", "result.aspx");
Response.Redirect("/userPDF/" + faTitle + "(" + userid + ").pdf");
------解决思路----------------------
Document document = new Document(iTextSharp.text.PageSize.A4, 25, 25, 25, 25);
//生成的PDF文件名称
using( FileStream fs=new FileStream(Server.MapPath("/userPDF/" + faTitle + "(" + userid + ").pdf"), FileMode.Create))
{
PdfWriter.GetInstance(document, fs);
document.Open();
//姓名
users model = bllname.GetModel(userid);
string truename = "";
if (model.username.Trim() != "")
{
truename = model.username.Trim();
}
document.Add(new Paragraph("姓名:" + truename, fontTitle));
document.Add(new Paragraph(faTitle, fontTitle));
document.Close();
bc.MessageBox("文件生成成功!", "result.aspx");
fs.Close();
}
Response.Redirect("/userPDF/" + faTitle + "(" + userid + ").pdf");
FileStream 要记得关闭