【问题标题】:Getting IE6,7,8 to reliably download office documents over ssl from our site让 IE6、7、8 可靠地从我们的站点通过 ssl 下载办公文档
【发布时间】:2009-06-25 15:56:07
【问题描述】:

我有一个 ASP.NET Web 应用程序,使用有效的商业证书通过 HTTPS 浏览整个站点。在应用程序的一部分中,可以下载 Excel 电子表格。 下载从 POST 启动(来自 LinkBut​​ton 的 PostBack)

响应已被清除(Response.Clear()、Response.BinaryWrite(bytes[])) 等等。就像我们在上千个项目中所做的一样,一切正常,设置了正确的内容标题和一切。这里唯一的区别是 SSL,但我看不出它是如何相关的。是的,有很多关于缓存头的链接会阻止 IE 将文件放到临时 Internet 文件中,因此可以启动相关的办公程序来打开它等等等等 yadda ...我已经阅读了所有这些。我已经使用 fiddler 和 LiveHeaders(FF Extension) 验证了缓存标头,并且可以确认“缓存:私有;”是生产站点和我的本地开发设置在响应中发送的内容。

如果我在本地 IIS 实例上设置 SSL 证书并运行项目,我可以使用 IE 打开或保存完全相同的电子表格,而不会出现问题(我知道实时制作文件没有任何问题,因为 FireFox 下载它毫不费力,真是一个惊喜!)然而,从生产网络服务器 IE6 说远程主机断开连接,IE7 只是坐在那里下载直到时间结束(真的很有帮助!)我把我的头发扯掉了

【问题讨论】:

    标签: c# asp.net internet-explorer ssl download


    【解决方案1】:

    SSL、附件和 IE 是一个可怕的组合。这是 IE 和某些基于 SSL 的 HTTP 标头的已知错误(有人称其为“功能”)。基本上,如果浏览器被告知不要存储文件,那么在提供给用户之前它基本上就被删除了。您实际上希望允许他们缓存它。

    这是一个关于它的Microsoft support article。还有another

    【讨论】:

    • 我从骨子里同意我认为这是 IE 对响应的处理我已经阅读了这两篇文章。但是,dev 和 prod 服务器都发送相同的 Cache 标头,并且在 dev 上它可以工作,但在 prod 中不行。
    • 我想我必须接受这个问题没有正确的答案,因为它取决于很多环境变量。接受此答案,因为它具有最相关的链接。
    【解决方案2】:

    您是否尝试过Content Disposition MIME 标头?

    【讨论】:

      猜你喜欢
      • 2012-10-18
      • 2020-10-06
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-26
      • 1970-01-01
      • 2020-01-25
      相关资源
      最近更新 更多