我们有一个简单的 html 页面,其中包含 Tomcat 服务器上的链接列表。许多链接只是一个简单的.msg 文件,供用户下载、填写和发送。在 Chrome 中运行良好,但在 IE 中运行不佳。 IE 尝试加载 .msg 文件,您看到的只是“garbally gook”。
我曾尝试寻找答案,但到目前为止都没有成功。
试过: - 添加“下载”到标签,当然这在 IE 中不受支持。 - 尝试添加 .htaccess 文件:AddType application/octet-stream .msg,但这也不起作用。
Tomcat 由 Apache 开发,所以我真的很惊讶 .htaccess 文件的答案不起作用。一些答案建议使用 PHP 或调整配置文件,但这有点让我头疼。谁会想到这样一个看似简单的问题会如此技术性地解决!
非常感谢您提供的任何方向建议!
最佳答案
我终于找到了我的答案,所以对于下一个没有技巧的人,希望这对你也有帮助!
对于 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 文件而不是打开它,即使在刷新缓存后,grrrr!尝试另一个我们以前没有尝试过的链接,发现新的 MIME 类型正在工作,并且在另一台计算机上进行测试证实了这一点。
祝你好运!
关于.htaccess - 强制 IE 下载未打开的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30224691/