daveilers Asked: 2009-06-04 11:01:15 +0800 CST2009-06-04 11:01:15 +0800 CST 2009-06-04 11:01:15 +0800 CST 为什么 docx、xlsx、pptx 从网络服务器下载为 zip 文件? 772 在我的 Apache 服务器上,我存储了几个 docx、xlsx pptx 文件。 一些客户端浏览器认为这些是常规的 zip 文件,并在下载时更改文件扩展名。我怎样才能让它不再那样做。 (使用 Ubuntu 服务器) apache-2.2 mime 5 个回答 Voted Kevin Kuphal 2009-06-04T11:03:10+08:002009-06-04T11:03:10+08:00 这些文件实际上是 XML 文档的 ZIP。将此添加到 Apache 中的 .htaccess 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 daveilers 2009-06-04T11:03:39+08:002009-06-04T11:03:39+08:00 服务器没有为新的 ms 文件类型设置正确的 mime 类型 将以下内容添加到 /etc/mime.types 文件并重新启动 apache,应该可以解决问题。 # Added by myname 2009-06-03 application/vnd.ms-word.document.macroEnabled.12 docm application/vnd.openxmlformats-officedocument.wordprocessingml.document docx application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx application/vnd.ms-powerpoint.template.macroEnabled.12 potm application/vnd.openxmlformats-officedocument.presentationml.template potx application/vnd.ms-powerpoint.addin.macroEnabled.12 ppam application/vnd.ms-powerpoint.slideshow.macroEnabled.12 ppsm application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx application/vnd.ms-powerpoint.presentation.macroEnabled.12 pptm application/vnd.openxmlformats-officedocument.presentationml.presentation pptx application/vnd.ms-excel.addin.macroEnabled.12 xlam application/vnd.ms-excel.sheet.binary.macroEnabled.12 xlsb application/vnd.ms-excel.sheet.macroEnabled.12 xlsm application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx application/vnd.ms-excel.template.macroEnabled.12 xltm application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx http://www.webdeveloper.com/forum/showthread.php?t=162526有关于这个问题的信息 Evan Anderson 2009-06-04T11:04:06+08:002009-06-04T11:04:06+08:00 听起来您的网络服务器正在查看这些文件中的幻数并看到它们是 zip 文件。 看看:http ://www.webdeveloper.com/forum/showthread.php?t=162526 Ken Banks 2011-05-07T11:05:20+08:002011-05-07T11:05:20+08:00 我对涉及此问题的服务器和客户端计算机具有完全的管理控制权,并且这些建议的解决方案都无法解决此问题。 最后,为我解决这个问题的唯一一件事就是...... 1)卸载7-Zip(这样浏览器就没有与zip文件关联的东西了) 2)(不确定是否需要此步骤,但是)然后我再次下载了 DOCX,(巧合的是,它仍然以 ZIP 文件的形式呈现),但是,这一次我被提示使用什么应用程序打开它,并且我选择 MSWORD。我不选择“始终使用 MSWORD 打开”,因为我不希望 MSWORD 始终打开 ZIP 文件。 3) 重新安装 7-Zip。 在此之后,所有后续下载 DOCX 的尝试实际上导致 DOCX 文件被下载并使用相应的 MSWORD 应用程序打开。 注意:在你得出我只是文件关联损坏的结论之前,让我确认一下,当这个问题发生时,我可以双击资源管理器中的任何 DOCX,MSWORD 总是会打开它。这个问题总是并且仅在尝试使用 IE8 下载/打开 DOCX 时发生。FF4 和 Chrome 都完美运行。我尝试将正确的 MIME 类型添加到 /etc/mime-types 和服务器端的 .htaccess 中。我还尝试禁用“基于内容而不是文件扩展名打开文件”(但这只会导致浏览器将 DOCX 作为不可读的 ASCII 文本打开),将 FEATURE_MIME_* 注册表项设置为“0”,并将服务器 URL 添加到“受信任的站点”列表。同样,这些看似合乎逻辑的解决方案都不适合我。 pauska 2011-06-23T05:09:02+08:002011-06-23T05:09:02+08:00 下载http://packages.ubuntu.com/oneiric/mime-support,并使用 dpkg -i 安装。工作得很好! PS:Ubuntu 和 Debian 上的 Apache 从 /etc/mime.types 读取
这些文件实际上是 XML 文档的 ZIP。将此添加到 Apache 中的 .htaccess
服务器没有为新的 ms 文件类型设置正确的 mime 类型
将以下内容添加到 /etc/mime.types 文件并重新启动 apache,应该可以解决问题。
http://www.webdeveloper.com/forum/showthread.php?t=162526有关于这个问题的信息
听起来您的网络服务器正在查看这些文件中的幻数并看到它们是 zip 文件。
看看:http ://www.webdeveloper.com/forum/showthread.php?t=162526
我对涉及此问题的服务器和客户端计算机具有完全的管理控制权,并且这些建议的解决方案都无法解决此问题。
最后,为我解决这个问题的唯一一件事就是......
1)卸载7-Zip(这样浏览器就没有与zip文件关联的东西了)
2)(不确定是否需要此步骤,但是)然后我再次下载了 DOCX,(巧合的是,它仍然以 ZIP 文件的形式呈现),但是,这一次我被提示使用什么应用程序打开它,并且我选择 MSWORD。我不选择“始终使用 MSWORD 打开”,因为我不希望 MSWORD 始终打开 ZIP 文件。
3) 重新安装 7-Zip。
在此之后,所有后续下载 DOCX 的尝试实际上导致 DOCX 文件被下载并使用相应的 MSWORD 应用程序打开。
注意:在你得出我只是文件关联损坏的结论之前,让我确认一下,当这个问题发生时,我可以双击资源管理器中的任何 DOCX,MSWORD 总是会打开它。这个问题总是并且仅在尝试使用 IE8 下载/打开 DOCX 时发生。FF4 和 Chrome 都完美运行。我尝试将正确的 MIME 类型添加到 /etc/mime-types 和服务器端的 .htaccess 中。我还尝试禁用“基于内容而不是文件扩展名打开文件”(但这只会导致浏览器将 DOCX 作为不可读的 ASCII 文本打开),将 FEATURE_MIME_* 注册表项设置为“0”,并将服务器 URL 添加到“受信任的站点”列表。同样,这些看似合乎逻辑的解决方案都不适合我。
下载http://packages.ubuntu.com/oneiric/mime-support,并使用 dpkg -i 安装。工作得很好!
PS:Ubuntu 和 Debian 上的 Apache 从 /etc/mime.types 读取