4

通过 SSL 在 IE8 上下载 excel 文件时,我们收到错误消息:“无法从 MyHostName 下载 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

4 回答 4

7

我有同样的问题,我发现,一个标题:

Pragma: private

会解决这个问题。

于 2013-09-05T07:44:42.310 回答
0

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

于 2013-12-12T22:45:15.897 回答
0

确保“ no-store ”和“ no-cache ”按顺序出现在您的标头中。如果反向,IE8 会呕吐。

查看本文末尾的更新:Internet Explorer 无法下载 https://something

我发现我还需要删除“pragma”标题才能使其工作。显然,pragma 不适合响应,尽管我不知道是否有任何旧浏览器需要它。

资料来源:Pragma 和 Cache-control 标头之间的区别?

于 2013-09-10T21:27:35.243 回答
0

我遇到了这个问题,下面的条目解决了这个问题

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

response.setHeader("内容配置","附件;文件名="+文件名);

response.setHeader("Pragma", "public");

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

于 2015-05-01T14:35:15.643 回答