在Mac上的Firefox中将pdf文件写入屏幕

时间:2012-10-29 14:53:59

标签: c# asp.net macos firefox pdf

我有一个页面,我只是想在屏幕上写一个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();
}

我得到了相同的结果。

任何人都知道如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

Content-Disposition:What are the differences between “inline” and “attachment”?