我有一个 spring MVC Controller ,它的请求映射到一个 URL。点击此 URL 时,会出现“保存/打开 PDF”弹出窗口。打开它时,PDF 将作为缓存保存在临时 Internet 文件/content.ie5 下。但是,出于安全原因,不应将此 PDF 保存为缓存。后来我找到了一个解决方案,使用以下方式打开 PDF 内联:
pResponse.setHeader("Content-Disposition",
"inline;filename=csi.pdf");
对于 IE8,PDF 不会保存为缓存。但是对于 IE6,它会再次被缓存。为了处理这个问题,我使用了这个:
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0); // Proxies.
现在,该解决方案适用于 IE6,不适用于 IE8。有人可以告诉我如何处理这个问题吗?
最佳答案
如果您正在处理安全内容,我认为您不应该依赖缓存/不缓存,因为它是特定于浏览器/应用程序的。例如,您尝试过 Firefox 吗?如果用户喜欢一些不同的(并且不寻常的)浏览器怎么办?
您应该通过 https
提供它,这将由于加密而禁用网络上所有可能的缓存,但我相信它在打开时仍可能被 Acrobat 缓存。
另一种选择是使其成为受密码保护的 pdf。
关于java - IE6 和 IE8 的 PDF 缓存(在临时 Internet 文件\content.ie5 下)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9462633/