在我开发的网站中,当点击链接时,我会打开一个新的浏览器窗口,显示一个 pdf 文件。它适用于除 IE 8 之外的所有浏览器。IE 8 显示的是空的浏览器窗口。当我检查时,该文件已由浏览器下载,但浏览器不知何故没有显示 pdf 文件。这个问题困扰了我很久,最后被同事解决了。我想在这里分享解决方案,这样其他人就不必经历我所经历的痛苦。
问问题
1073 次
1 回答
2
在网站中,我们禁用了缓存,以阻止人们使用浏览器的后退按钮向后退。
HttpCacheability.NoCache
IE 8 要求将要显示的任何文件在显示之前保存在临时文件中。禁用缓存会中断保存到临时文件。即使浏览器成功下载了文件,由于它无法保存文件,它也没有显示 pdf 内容或使用活动 x 显示的任何其他文档。我们了解到这是一个 IE 8 错误,它已在 IE 9 中得到修复。
将缓存更改为私有解决了该问题。
Response.Cache.SetCacheability(HttpCacheability.Private);
Response.ClearHeaders();
Response.ContentType = "Application/pdf";
Response.WriteFile(path);
于 2013-07-29T14:00:04.917 回答