带有内容处置的文件:内联有时仍然提示下载

2023-12-02

我的主题行说了我要问的大部分内容。我有一个网站,可以输出各种格式的报告(HTML、CSV、TSV、Excel 等)。只要有可能,我希望这些文件显示在浏览器中。为此,我设置了标题,使“Content-Disposition”成为“内联”。这对于不同的文件类型来说非常不一致。似乎在 FF3 和 IE7 中,HTML 总是会自动内联打开。这就说得通了。如果我使用 TSV,两个浏览器都会提示下载,因为它在我的系统上是未知的文件类型。这也是有道理的,也正是我想要的。然而,Excel 和 CSV 提供不同的行为。在FF中,两者总是提示下载或打开。如果我选择“打开”,它将在新窗口中打开。在 IE 中,两者also提示下载或打开——我不明白这个。我认为 Excel 文件会通过 Content-Disposition: inline 自动内联打开。如果我在 IE 中选择“打开”,它将在浏览器中内联打开。

有人可以解释意外的行为吗?这对我来说并不是真正的问题,但我的用户认为这是一个错误,因此我可以向他们引用的权威来源将是非常好的。到目前为止,我发现的关于这个“问题”的唯一内容是 mozilla 论坛上的一篇 1 行帖子,内容是关于自动打开内联功能如何成为 IE 的安全缺陷之一......那是一篇旧帖子,所以也许它IE7 中“修复”了吗?谢谢。


您可能已经解决了这个问题,但如果没有解决,我可能会有答案(对于未来遇到同样问题的人,这也让我发疯!)

可以使用以下命令在客户端上覆盖此行为:

  1. 转到 Windows 资源管理器
  2. 选择工具 -> 文件夹选项
  3. 选择“文件类型”选项卡
  4. 查找扩展名“DOC”(或“PDF”等)
  5. 选择“高级”
  6. 根据需要勾选/取消勾选“下载后确认打开”。

用于实现预览/下载功能的机制是通过使用“content-disposition”标头,通常使用 MimeType“application/”。这基本上告诉本地客户端使用指定的应用程序打开应用程序,但是应用程序的上述设置可能会覆盖请求的传递格式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有内容处置的文件:内联有时仍然提示下载 的相关文章

  • 如何默认以 IE7 模式打开 Internet Explorer 9?

    我想将 IE 设置为始终以 IE7 模式打开 我主要在 Chrome 中进行开发 出于效率和 80 20 原则的目的 我假设 IE9 的外观和行为与 Chrome 基本相似 我认为如果某些东西在 IE7 中看起来和工作得足够好 大多数时候
  • IE10、Opera 12 :: 不透明度:<1,display:inline 导致奇怪的裁剪

    在这个问题中 如果工作人员和社区不介意 我想解决不同浏览器的两个不同错误 尽管它们是在相同条件下发生的 当元素带有display inline and a box shadow 但这里设置更多是为了演示目的 得到opacity小于 1 那么
  • 使用脚本清除 Internet Explorer 6.0 浏览历史记录

    我使用以下脚本删除 IE 7 0 中的浏览历史记录 RunDll32 exe InetCpl cpl ClearMyTracksByProcess 255 但现在我需要一个脚本来清除 IE 6 0 中的浏览历史记录 我收到一条错误消息 缺少
  • HTTP请求压缩

    一般用例 想象一下一个正在上传大量 JSON 的客户端 内容类型应保留application json因为这描述了实际数据 Accept Encoding 和 Transfer Encoding 似乎是为了告诉服务器应该如何格式化响应 看起
  • 通过 http 的私有 git 存储库

    你能推荐任何简单的解决方案来设置可通过http s cleutus建议的 访问的git存储库吗 我有自己的 http 服务器 我想用它来托管一些小型私人项目 在家里我可以通过 ssh 连接 但在工作中防火墙阻止我这样做 有没有免费的方法来设
  • 如何在 IE 中使用 relatedTarget (或等效项)?

    显然 IE 11 有问题relatedTarget 例如blur事件 IE 有没有替代方法来获取relatedTarget 下面是一个在 IE 中产生错误的示例 https jsfiddle net rnyqy78m https jsfid
  • 影响浏览器是否提示保存凭据

    对于大多数具有用户名和密码对话框的网页 浏览器将提示用户是否要保存该表单的凭据 然而 对于此登录页面 http vdn volvoce com 事实并非如此 我找不到关于 IE 如何决定是否显示此对话框的任何好的数据 如何让 IE 显示该提
  • 在 Java Servlet 应用程序中设置 HTTP 201 响应的 Location 标头的正确方法是什么

    考虑以下代码向客户端发送 HTTP 201 已创建 响应 String url app things id 42 example response setStatus HttpServletResponse SC CREATED respo
  • 避免 IE 中因背景图像而出现“混合内容”警告的具体规则是什么?

    这与SSL 和 CSS 背景图像导致的混合内容 https stackoverflow com questions 1548551 ssl and mixed content due to css background images但这个问
  • 如何使用独立的 Jetty 进行服务器推送

    我正在尝试使用独立的 Jetty 在静态网站上测试服务器推送功能 我的网站由一个index html 1个CSS 一堆图像组成 目录结构为 Album index html style css images image 1 png a se
  • 样式选项以粗体显示

    我遇到了选项的样式问题 我需要一些选项以粗体样式显示 但 Internet Explorer 不想呈现它 我使用 CSS 设置它font weight bold 这不起作用 在此页面中可以看到一个示例 Example http www 45
  • HTTP 和 HTTPS iframe

    我正在创建一个小部件 我想允许其他人使用它 这iframe通过 HTTP 加载 但我想允许用户通过 HTTPS 登录 即通过 SSL 发送登录请求 同源策略中允许这样做吗 即 场景是用户可以将我的 JavaScript 集成到他们的网站 小
  • Angular JS 在调用新的 $http 之前取消 $http 调用

    在 Angular JS 1 1 5 中 您可以取消之前启动的 http 调用 这两个link1 https stackoverflow com questions 16962232 in angularjs how to stop ong
  • Internet Explorer 9 中图像地图周围的蓝色边框

    我遇到了以下问题 我在网站上使用图像地图 在 Internet Explorer 9 IE8 很好 中 当我单击链接 区域标签 时 它周围会出现蓝色边框 如何摆脱它 我试过了 map map area border none importa
  • 在golang中获取TTFB(第一个字节的时间)值

    我正在尝试获取 TTFB 值和 Connect 值 c exec Command curl w Connect time connect TTFB time starttransfer Total time time total o dev
  • IE bug:具有不透明背景色的绝对定位元素

    我有一个绝对定位的 DIV 需要捕获 onclick 事件 事实证明 在 IE7 中 DIV 似乎没有诸如单击甚至光标之类的 足迹 例如 div width 200px height 200px position absolute bord
  • 当会话令牌无效时,我应该使用什么状态代码?

    创建 Web 服务 RESTful 时 当会话令牌无效时我应该使用什么状态代码 目前我公司的人给我发了一个404 未找到 但我认为这是不正确的 因为资源存在 也许我应该使用 401 Unauthorized 你怎么认为 您建议我在这种情况下
  • 从 HTTP 登录到 HTTPS

    我的网站默认使用 HTTP 我确实有一个启用 HTTPS 的证书 但只有其上的某些区域强制建立安全连接 登录是通过 Ajax 处理的 我想开始使用 SSL 即使请求来自 HTTP 我尝试强制请求的地址具有 HTTPS 并且它完美地回复 然而
  • 为什么我的交互式图像仅在 Internet Explorer 上出现故障?

    我的问题 我为自己制作了一个图像地图 交互式图像 它在 Chrome safari 和 Firefox 上完美运行 然而 当我在可怕的互联网浏览器上尝试它时 它真的很糟糕 这些小点应该扩展到更大的盒子中 在互联网浏览器上它要么不起作用 要么
  • 多个客户端如何同时连接到服务器上的一个端口(例如 80)? [复制]

    这个问题在这里已经有答案了 我了解端口工作原理的基础知识 但是 我不明白的是多个客户端如何同时连接到端口 80 我知道每个客户端都有一个唯一的 对于他们的机器 端口 服务器是否从可用端口回复客户端 并简单地声明回复来自 80 这是如何运作的

随机推荐