我使用itexsharp生成pdf。 我正在创建MemoryStream,然后当我试图将MemoryStream字节写入响应但没有运气。当我在我的控制器中执行这个代码时,pdf不会回应。内存流正常使用,我可以在调试器中看到这一点,但由于某些原因,这些数量的butes没有响应。MVC。 Itextsharp将pdf写入响应
这里是我的代码:
HttpContext.Current.Response.ContentType = "application/pdf";
...
using (Stream inputPdfStream = new FileStream(pdfFilePath, FileMode.Open, FileAccess.Read, FileShare.Read))
using (Stream outputPdfStream = new MemoryStream())
{
PdfReader reader = new PdfReader(inputPdfStream);
PdfStamper stamper = new PdfStamper(reader, outputPdfStream);
....
//try one
outputPdfStream.WriteTo(HttpContext.Current.Response.OutputStream); // NOT POPULATING Response
//try two
HttpContext.Current.Response.BinaryWrite(outputPdfStream.ToArray()); // NOT POPULATING Response Too
HttpContext.Current.Response.End();
}
可能有人有什么想法?
你会在回应中得到什么吗? – BlackICE 2010-09-30 13:35:39
是的,几个字节,但没有我的pdf的字节 – Cranik 2010-09-30 13:37:49
我会发布一个更简单的例子,不包括inputPdfStream这是另一个pdf文件,所以它会导致混淆。只需输出MemoryStream作为PdfWriter实例的流,一个document.open(),一些document.Add(..)和一个document.close()。然后,这个问题简化为“我想在回应中发送包含在输出MemoryStream中的PDF。如何?......” – mmutilva 2011-01-30 13:27:28