我使用asp.net在某些浏览器上生成动态.pdf文件,例如firefox显示pdf,但是在IE上& Safari提供了“另存为”比在浏览器中显示它。我已经使用了相同的iFrame。此外,要显示PDF文件是否要求客户端应该有Adobe Reader或某个插件来显示PDF?PDF不会在所有使用Asp.net的浏览器上呈现
protected void bttnpdf_Click(object sender, EventArgs e)
{
string FilePath = Server.MapPath("sample.pdf");
WebClient User = new WebClient();
Byte[] FileBuffer = User.DownloadData(FilePath);
if (FileBuffer != null)
{
Response.ContentType = "application/pdf";
Response.AddHeader("content-length", FileBuffer.Length.ToString());
Response.BinaryWrite(FileBuffer);
}
}
任何帮助,将不胜感激。
在此先感谢
它取决于Adobe插件,如果您没有为I.E安装该插件。或Safari然后它会要求保存文件,而不是然后打开PDF文件 –
感谢您的快速响应。你也可以请推荐一些标准的方式来呈现所有浏览器的PDF,考虑到这两种情况,即客户端已安装/未安装Adobe插件。 – Dev
由于您提到您使用的是iframe,所以如果iframe能够找到插件,它将呈现pdf并显示该pdf文件,否则它将不会呈现并将整个pdf文件传递给浏览器,因此浏览器无法理解该做什么与该pdf和按默认行动,它会要求保存文件 –