我有一个页面,我只是想在屏幕上写一个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();
}
我得到了相同的结果。
任何人都知道如何解决这个问题?
答案 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”?