我正在使用iTextSharp创建PDF文件(我使用C#)。文件创建正常;但是,它保存在一个文件夹中。创建该文件是为了响应链接按钮单击,我想显示打开/保存对话框,而不是将文件保存在文件夹中。 我使用以下内容:
using(MemoryStream ms = new MemoryStream())
{
Document doc1 = new Document();
PdfWriter pdfw = PdfWriter.GetInstance(doc1, ms);
doc1.open();
string sPath = Server.MapPath("PDF/");
string sFileName = "Something.PDF";
// create the PDF content
doc1.Close();
byte[] content = ms.ToArray();
using (FileStream fs = FileStream.Create(sPath + sFileName))
{
fs.Write(content, 0, (int)content.Length);
}
}
我这样做错了吗?它创建文件并将其保存在“blahblah / PDF”文件夹中,但不显示打开/保存对话框bx。
答案 0 :(得分:1)
如果您已有该文件,请使用Response.TransmitFile
方法在用户的浏览器中将其清除。
Response.Clear();
Response.ContentType = "application/pdf";
Response.AppendHeader("Content-Disposition", "attachment; filename=buylist.pdf");
Response.TransmitFile(Server.MapPath("~/myfile.pdf"));