我有一个spring MVC Controller,它被请求映射到一个URL。在点击此URL时,会出现保存/打开PDF弹出窗口。打开它时,PDF将作为缓存保存在临时Internet文件/ content.ie5下。但是,出于安全原因,不应将此PDF保存为缓存。后来我发现了一个使用以下内容打开PDF内联的解决方案:
pResponse.setHeader("Content-Disposition",
"inline;filename=csi.pdf");
PDF不会保存为IE8的缓存。但是对于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。有人可以告诉我这是如何处理的。
答案 0 :(得分:0)
如果您正在处理安全内容,我认为您不应该依赖缓存/不缓存,因为它非常适合浏览器/应用程序。例如,你试过Firefox吗?如果用户喜欢某些不同(和不寻常)的浏览器会怎么样?
您应该通过https
提供服务,这会因加密而禁用网络上所有可能的缓存,但我相信Acrobat在打开时仍可能会缓存它。
另一种选择是使其成为受密码保护的pdf。