2011-12-12 76 views
2

对不起,如果这看起来重复,但我已经遍布interwebz寻找一个满意的答案。带有SSL连接的IE阻止文件下载 - CacheControl问题

IE 8(以及6和7以及)不允许通过基于https的连接下载文件。

我理解,这是一个高速缓存控制问题,因为在MS支持网站

建议我尝试了一切,从高速缓存的控制设定在响应头禁用编译如在下面的推荐链接

,我仍然无法解决问题。

我宁愿除浏览器修补程序或注册表更改以外的东西。

我用Java代码如下

response.addHeader("Content-Disposition", "attachment; filename=myXLS.xls"); 
response.addHeader("Cache-control", "public"); 
response.addHeader("Pragma", "public"); 

欣赏的帮助。谢谢

+0

IE给出的错误或消息是什么? – Santosh

+0

http://imgur.com/OozMI我可以通过做这个注册表黑客工作在IE浏览器http://support.microsoft.com/kb/323308但没有,不起作用 – nunchuckNinja

回答

2

看看响应标题 - 很可能你的web服务器正在为这种类型的文件设置一些与缓存相关的头文件。我会做的第一件事是请求这个URL与'wget'说,让它打印响应标题,看看有什么。

+1

谢谢,我看到缓存-control被设置为no-cache,no-store,no-cache,而不是no-store,no-cache。所以,我只是将代码编辑为'response.reset(); response.addHeader(“Content-Disposition”,“attachment; filename = myXLS.xls”); response.addHeader(“Cache-control”,“no-store,no-cache”);' – nunchuckNinja