通过SSL的IE8附件下载问题

时间:2013-03-29 18:32:51

标签: ssl internet-explorer-8 download attachment

在IE8上通过SSL下载excel文件时,我们收到错误:“无法从MyHostName.Unable下载Document.ashx以打开此Internet站点。请求的站点不可用或无法找到。请稍后再试。 “

我们尝试了几种解决方案,但除了regedit(这是不可行的)之外,它们都没有工作。

1)根据http://support.microsoft.com/kb/323308尝试了注册表编辑并且它有效。但是,这不是一个可行的解决方案。 2)根据此链接http://support.microsoft.com/kb/815313尝试解决方案,如果您“复制快捷方式”并通过浏览器URL运行,则说明文件将下载。但是,这个解决方案不一致并且有时有效,但大多数都不起作用。

3)将我们的java控制器代码更新为response.setHeader(“Cache-Control”,“must-revalidate,private”); response.setDateHeader(“Expires”, - 1)但是当我们查看标题时它仍显示为“cache-control:no-cache”。这个解决方案也无法正常工作

4)在IE 8浏览器上取消选中“不将加密文件保存到磁盘”选项。但那也行不通。 http://blogs.msdn.com/b/ieinternals/archive/2010/04/21/internet-explorer-may-bypass-cache-for-cross-domain-https-content.aspxhttp://support.microsoft.com/kb/2549423

还在互联网上搜索了上面提出的各种选项,但没有一个是完整的证据。

如果有人有上述以外的解决方案。请分享。

由于

4 个答案:

答案 0 :(得分:7)

我遇到了同样的问题,我发现了一个标题:

Pragma: private

将解决此问题。

答案 1 :(得分:0)

确保按此顺序在标头中出现“禁止商店”和“无缓存”。如果它反转,IE8会呕吐。

查看此帖末尾的更新:Internet Explorer Cannot Download https://something

我发现我还需要删除“pragma”标题以使其正常工作。显然,pragma不是用于回复,虽然我不知道是否有任何旧的浏览器需要它。

来源:Difference between Pragma and Cache-control headers?

答案 2 :(得分:0)

问题是,如果服务器向浏览器发送禁用缓存的http标头,则Explorer会出错。我们也尝试了你说的所有解决方案,但是在分析http响应时我们看到应用服务器自动添加了no-cache= "Set-Cookie" http报头并禁用了IE8缓存...有一个设置可以在AS上进行但在我们的情况下,我们无法做到,所以我们改变了我们的cookie管理代码服务器端,我们解决了这个问题。

答案 3 :(得分:0)

我遇到过这个问题,并在进入后解决了这个问题

response.setContentType(“application / vnd.ms-xls; charset = utf-8”);

response.setHeader( “内容处置”, “附件;文件名=” +文件名);

response.setHeader(“Pragma”,“public”);

response.setHeader(“Cache-Control”,“public,max-age = 3800”);