Назад | Перейти на главную страницу

Почему docx, xlsx, pptx загружаются с веб-сервера в виде zip-файлов?

На моем сервере Apache я сохранил несколько файлов docx, xlsx pptx.

Некоторые клиентские браузеры считают, что это обычные zip-файлы, и меняют расширение файла при загрузке. Как мне заставить этого больше не делать.

(Используя сервер Ubuntu)

Файлы на самом деле представляют собой ZIP-файлы XML-документов. Добавьте это в свой .htaccess в Apache

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

На сервере не настроены правильные типы mime для новых типов файлов ms.

добавьте следующее в файл /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 есть информация об этой проблеме

Похоже, ваш веб-сервер смотрит на магические числа внутри этих файлов и видит, что они ЯВЛЯЮТСЯ 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 всегда открывал его. Эта проблема возникала всегда и только при попытке загрузить / открыть DOCX с помощью IE8. FF4 и Chrome работали безупречно. Я попытался добавить правильные типы MIME в / etc / mime-types и в .htaccess на стороне сервера. Я также попытался отключить «Открывать файлы на основе содержимого, а не расширения файла» (но это привело только к тому, что браузер открывал DOCX как нечитаемый текст ASCII), установил для ключей реестра FEATURE_MIME_ * значение «0» и добавил URL-адрес сервера в Список «Надежные сайты». Опять же, НИ ОДИН ИЗ ЭТИ НАХОЖДЕНИЕ ЛОГИЧЕСКИХ РЕШЕНИЙ У МЕНЯ НЕ РАБОТАЕТ.

Скачать http://packages.ubuntu.com/oneiric/mime-supportи установите его с помощью dpkg -i. Сработало отлично!

PS: Apache в Ubuntu и Debian читает из /etc/mime.types