it-swarm-ru.tech

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

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

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

(Использование сервера Ubuntu)

36
daveilers

Файлы на самом деле являются 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
34
Kevin Kuphal

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

14
daveilers

Похоже, ваш веб-сервер просматривает магические числа внутри этих файлов и видит, что они являются Zip-файлами.

Посмотрите на: http://www.webdeveloper.com/forum/showthread.php?t=162526

2
Evan Anderson

У меня есть полный административный контроль как на сервере, так и на клиентской машине, связанной с этой проблемой, и ни одно из предложенных решений не помогло исправить эту проблему.

В конце концов, единственное, что ИСПРАВЛЕНО для меня - это ....

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-адрес сервера в поле" Доверенные " Список сайтов. Опять же, ни одно из этих, казалось бы, логических решений не работало на меня.

1
Ken Banks

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

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

0
pauska