0

我有一个页面,我只是想在屏幕上写一个 pdf。这就是我正在做的事情:

protected void ViewPDF(string url)
{
    Response.Clear();
    Response.ClearContent();
    Response.ClearHeaders();
    Response.ContentType = "application/pdf";
    Response.TransmitFile(url);
    Response.Flush();
    Response.End();
}

这适用于除 Mac 上的 Firefox 之外的所有浏览器和操作系统。浏览器不会在浏览器中显示 pdf 文件,而是打开对话框下载文件,您可以在其中打开或保存文件。

我也试过这个:

protected void ViewPDF(string url)
{    
    Response.Clear();
    Response.ContentType = "application/pdf";

    string path = Server.MapPath(url);
    byte[] data = File.ReadAllBytes(path);
    Response.BinaryWrite(data);
    Response.End();
}

我得到了同样的结果。

有人知道怎么修这个东西吗?

4

2 回答 2

1

浏览器需要能够呈现任何给定的文件格式。Firefox(适用于 Mac)不包括开箱即用的 PDF 渲染器。就是这么简单。

请参阅http://support.mozilla.org/en-US/kb/view-pdf-files-firefox-without-downloading-them

于 2012-10-29T14:57:12.397 回答
0

您可以尝试更改内容处置标头。这篇文章中有一个完整的讨论:

Content-Disposition:“inline”和“attachment”有什么区别?

于 2012-10-29T14:59:03.273 回答