在我开发的网站中,当点击链接时,我打开一个显示pdf文件的新浏览器窗口。它适用于除IE 8以外的所有浏览器.IE 8显示空浏览器窗口。当我检查时,浏览器下载了该文件,但浏览器以某种方式未显示pdf文件。这让我误解了很长时间,最后它被一位同事解决了。我想在这里分享解决方案,以便其他人不必经历我经历的痛苦。
答案 0 :(得分: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);