这个问题可能有一个简单的答案,但我似乎无法找到解决方案。
因此,我目前正在使用 iTextSharp 生成 PDF,并在提交表单时将此 PDF 发送回用户。但是,我不想在响应流中发送此 PDF,而是呈现一个指向该文件的链接,即“感谢您提交,单击此处下载 PDF”。
查看了 Stack 上的大多数 iTextSharp 问题,但都与通过响应流发送它有关。
谢谢
[HttpPost]
public ActionResult Index(FormCollection formCollection)
{
// Create PDF
var doc = new Document();
MemoryStream memoryStream = new MemoryStream();
PdfWriter writer = PdfWriter.GetInstance(doc, memoryStream);
doc.Open();
doc.Add(new Paragraph("First Paragraph"));
doc.Add(new Paragraph("Second Paragraph"));
doc.Close();
byte[] docData = memoryStream.GetBuffer(); // get the generated PDF as raw data
// write the data to response stream and set appropriate headers:
Response.AppendHeader("Content-Disposition", "attachment; filename=test.pdf");
Response.ContentType = "application/pdf";
Response.BinaryWrite(docData);
Response.End();
return View();
}