我的主题行说了我要问的大部分内容。我有一个网站,可以输出各种格式的报告(HTML、CSV、TSV、Excel 等)。只要有可能,我希望这些文件显示在浏览器中。为此,我设置了标题,使“Content-Disposition”成为“内联”。这对于不同的文件类型来说非常不一致。似乎在 FF3 和 IE7 中,HTML 总是会自动内联打开。这就说得通了。如果我使用 TSV,两个浏览器都会提示下载,因为它在我的系统上是未知的文件类型。这也是有道理的,也正是我想要的。然而,Excel 和 CSV 提供不同的行为。在FF中,两者总是提示下载或打开。如果我选择“打开”,它将在新窗口中打开。在 IE 中,两者also提示下载或打开——我不明白这个。我认为 Excel 文件会通过 Content-Disposition: inline 自动内联打开。如果我在 IE 中选择“打开”,它将在浏览器中内联打开。
有人可以解释意外的行为吗?这对我来说并不是真正的问题,但我的用户认为这是一个错误,因此我可以向他们引用的权威来源将是非常好的。到目前为止,我发现的关于这个“问题”的唯一内容是 mozilla 论坛上的一篇 1 行帖子,内容是关于自动打开内联功能如何成为 IE 的安全缺陷之一......那是一篇旧帖子,所以也许它IE7 中“修复”了吗?谢谢。
您可能已经解决了这个问题,但如果没有解决,我可能会有答案(对于未来遇到同样问题的人,这也让我发疯!)
可以使用以下命令在客户端上覆盖此行为:
- 转到 Windows 资源管理器
- 选择工具 -> 文件夹选项
- 选择“文件类型”选项卡
- 查找扩展名“DOC”(或“PDF”等)
- 选择“高级”
- 根据需要勾选/取消勾选“下载后确认打开”。
用于实现预览/下载功能的机制是通过使用“content-disposition”标头,通常使用 MimeType“application/”。这基本上告诉本地客户端使用指定的应用程序打开应用程序,但是应用程序的上述设置可能会覆盖请求的传递格式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)