xlsx 文件在下载时被解释为 zip 文件,为什么?

xlsx 文件在下载时被解释为 zip 文件,为什么?

背景:由于某种原因,每当用户尝试使用 MSIE 从我们的内部网打开 xslx(excel 2007)文件时,文件下载对话框都会将其解释为“zip”文件。

不可否认的是,xslx 文件确实zip 文件,但我们不希望出现这种情况。请在 Excel 中打开。

问题:

另一方面,Firefox 可以正常打开文件。可能是我的 apache 配置出了问题?还是这只是客户端浏览器的问题?

答案1

您确实可以在 Apache 的配置中修复此问题。添加以下行(并确保已启用 mod_mime):

AddType application/vnd.ms-word.document.macroEnabled.12 .docm
AddType application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
AddType application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx
AddType application/vnd.ms-powerpoint.template.macroEnabled.12 potm
AddType application/vnd.openxmlformats-officedocument.presentationml.template potx
AddType application/vnd.ms-powerpoint.addin.macroEnabled.12 ppam
AddType application/vnd.ms-powerpoint.slideshow.macroEnabled.12 ppsm
AddType application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx
AddType application/vnd.ms-powerpoint.presentation.macroEnabled.12 pptm
AddType application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
AddType application/vnd.ms-excel.addin.macroEnabled.12 xlam
AddType application/vnd.ms-excel.sheet.binary.macroEnabled.12 xlsb
AddType application/vnd.ms-excel.sheet.macroEnabled.12 xlsm
AddType application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
AddType application/vnd.ms-excel.template.macroEnabled.12 xltm
AddType application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx

这将确保 Apache 向客户端发送适当的 MIME 类型,并且 IE 将理解这些文件是 Office 文档而不是 zip 文件。

答案2

我怀疑这是 apache 配置问题。Internet Explorer 有自己的MIME 类型检测算法。您可以通过右键单击并选择“文件 -> 另存为”或直接使用 MS 2003 .doc 格式来避免此行为。

答案3

如果是 apache 配置问题,那么就有一个文件包含扩展名到 mime 类型的映射,您可以快速检查该文件以排除这种可能性。

相关内容