强制 IE 下载未打开的文件

Posted

技术标签:

【中文标题】强制 IE 下载未打开的文件【英文标题】:Forcing IE to download NOT open files 【发布时间】:2015-07-25 07:45:32 【问题描述】:

我们有一个简单的 html 页面,其中包含 Tomcat 服务器上的链接列表。许多链接只是一个简单的.msg 文件,供用户下载、填写和发送。在 Chrome 中效果很好,但在 IE 中效果不佳。 IE 尝试加载 .msg 文件,但您看到的只是 'garbally gook'。

我已经尝试寻找答案,但到目前为止都没有。

试过了: - 将“下载”添加到标签中,但 IE 中当然不支持。 - 尝试使用 AddType application/octet-stream .msg 添加 .htaccess 文件,但这也不起作用。

Tomcat 是由 Apache 开发的,所以我很惊讶 .htaccess 文件的答案不起作用。一些答案建议使用 php 或调整配置文件,但这有点超出我的想象。谁能想到这样一个看似简单的问题,竟然会如此技术性地解决!

非常感谢您提供的任何建议!

【问题讨论】:

使用 PHP 将是一个很好的解决方案。更多信息请查看***.com/questions/7263923/…。 【参考方案1】:

我终于找到了我的答案,所以对于下一个没有技术的人,希望这对你也有帮助!

对于 Apache Tomcat,找到您的 web.xml 并在记事本中打开。搜索 MIME,您要继续搜索,直到找到您的 MIME 类型,它们将如下面的代码所示。它们按字母顺序排序,因此请相应地放置新的 MIME 类型。对我来说,这是一个 .msg 文件,我希望 IE 提示打开/另存为,而不是仅仅尝试打开它。

<mime-mapping>
<extension>msg</extension>
<mime-type>application/vnd.ms-outlook</mime-type>
</mime-mapping>

为了找到合适的 MIME 类型,我在 Google 上搜索了“Outlook .msg MIME 类型”,很快就找到了。添加新的 MIME 类型后,保存并重新启动服务器。

问题: web.xml 不允许我们保存它。我们通过使用不同名称保存新文件、重命名/删除现有 web.xml 文件,然后将更新后的文件重命名回 web.xml 来解决此问题。

问题:重启服务器后,IE仍然试图读取.msg文件而不是打开它,即使在刷新缓存后,grrrrr!尝试我们以前未尝试过的另一个链接,发现新的 MIME 类型正在工作,并且在另一台计算机上进行测试证实了这一点。

祝你好运!

【讨论】:

以上是关于强制 IE 下载未打开的文件的主要内容,如果未能解决你的问题,请参考以下文章

ie浏览器网页中直接打开文件,没有下载到本地,并在修改后保存,文件还在吗?从哪里找?XP系统

android手机怎么才能直接打开URL链接文件

强制本地 html 文件中的超链接打开关联的应用程序而不是下载

PHP如何强制下载文件

ie浏览器下载excel文件大不完整

windows10 IE浏览器无法下载文件,是怎么回事?