我的 Java Web 应用程序有一个文档文件。当我尝试通过单击链接下载文件时,它会打开一个带有损坏字符的新页面作为另一个选项卡。当我尝试保存页面时,它保存为 .htm 文件
但该文件已在其他浏览器(如 Chrome、Firefox)中正确下载。我通过将扩展名从 .DOC 更改为 .doc 来进行检查,我可以下载该文件。
.DOC 在 IE 中打开损坏的页面是否有特殊原因。为什么它只发生在 IE 中
我的 Java Web 应用程序有一个文档文件。当我尝试通过单击链接下载文件时,它会打开一个带有损坏字符的新页面作为另一个选项卡。当我尝试保存页面时,它保存为 .htm 文件
但该文件已在其他浏览器(如 Chrome、Firefox)中正确下载。我通过将扩展名从 .DOC 更改为 .doc 来进行检查,我可以下载该文件。
.DOC 在 IE 中打开损坏的页面是否有特殊原因。为什么它只发生在 IE 中
我刚刚遇到了同样的问题,发现原因是应用程序服务器(在我的例子中是 Tomcat)上缺少 MIME 类型映射。对于 Tomcat,您可以通过将以下内容添加到 conf/web.xml 来解决此问题:
<mime-mapping>
<extension>doc</extension>
<mime-type>application/msword</mime-type>
</mime-mapping>
您需要编辑的确切文件将根据您的应用程序服务器而有所不同,但是通过 Google 快速搜索您的 AS 和“mime 类型映射”应该会告诉您需要编辑的内容和位置。
我应该注意旧版本的 Tomcat(在 Tomcat 8 之前发布)对 MIME 类型映射是区分大小写的,因此如果您发现 .doc 有效但 .DOC 无效,请在 web.xml 文件中添加一个附加条目,其中 DOC 为扩展名。