在浏览器中保存后打开生成的PDF

时间:2015-03-05 20:13:43

标签: c# pdf-generation

我有一种在浏览器中填充PDF的方法。它可以完美地在浏览器中显示PDF。但是,在我单击“保存”底部并从本地打开下载的文件后,它显示

  

“Adobe Reader无法打开'xxx.pdf',因为它不是受支持的文件类型,或者因为文件已损坏(例如,它是作为电子邮件附件发送的,并且未正确解码)。”

以下是我的代码

public static void PopulatePDF(byte[] PDFcontents)
{
    var response = HttpContext.Current.Response;

    response.AppendHeader("Content-Disposition", "inline; filename=xxx.pdf");
    response.AppendHeader("Content-Length", PDFcontents.Length.ToString());
    response.AppendHeader("Content-Transfer-Encoding", "binary");

    response.OutputStream.Write(PDFcontents,0,contents.PDFcontents);
    response.BufferOutput = true;
    response.Buffer = true;

    response.ContentType = System.Net.Mime.MediaTypeNames.Application.Pdf;

    response.BinaryWrite(PDFcontents);

    response.Flush();
    response.End();
}

该方法确实传递了数据(byte[2100217])并在浏览器中显示pdf。但棘手的部分是在使用“保存”后无法从本地下载的文件中打开它。

不确定两者之间发生了什么。这是由于我正在使用的Adobe Reader版本吗?这是Adobe Reader XI(版本11.0.10)。

0 个答案:

没有答案