Чому docx, xlsx, pptx завантажуються з веб-сервера як поштові файли?


36

На своєму сервері Apache я зберегла кілька файлів docx, xlsx pptx.

Деякі браузери клієнтів вважають, що тези є звичайними поштовими файлами та змінюють розширення файлу під час завантаження. Як змусити його більше не робити цього.

(Використання сервера Ubuntu)


Ці типи файлів відмінно працюють з IE9, не вносячи жодних змін у htaccess, httpd.conf тощо

Відповіді:


34

Файли - це фактично 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

У мене була така ж проблема, і я додав це до .htaccess, але те саме відбувається в IE (навіть після видалення кешу). Вам потрібно перезапустити Apache, щоб це вступило в силу?
supertrue

14

На сервері не встановлені належні типи 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 має інформацію про цю проблему


оскільки це мій сервер і я маю доступ до /etc/mime.types, це найкраща відповідь для мене.
daveilers

у Windows, шлях може бути чимось на кшталт <install dir for apache> \ apache \ conf \ mime.types
AJ.

Це не працює з Apache2.4
rasanga


1

Я маю тотальний адміністративний контроль як над сервером, так і над клієнтською машиною, що займається цією проблемою, і НІКОЛИ з цих запропонованих рішень не працював на виправлення цієї проблеми.

Зрештою, єдине, що виправляло це питання для мене, було….

1) видаліть 7-Zip (тому браузер не має нічого асоціювати з поштовим файлом)

2) (Не впевнений, чи потрібен цей крок, але) Потім я знову завантажив DOCX (де, збіг обставин, він все ще представлений у вигляді ZIP-файлу), однак цього разу мені запропоновано, для якої програми відкрити його та Я вибираю MSWORD. Я не вибираю "Завжди відкривати за допомогою MSWORD", тому що я не хочу, щоб MSWORD завжди відкривав ZIP-файли.

3) Перевстановіть 7-Zip.

Після цього всі наступні спроби завантажити DOCX фактично призвели до завантаження файлу DOCX та відкриття за допомогою відповідної програми MSWORD.

ПРИМІТКА: Перш ніж перейти до висновку, що у мене просто була порушена асоціація файлів, дозвольте мені підтвердити, що коли виникає ця проблема, я можу двічі клацнути на будь-якому DOCX в Explorer і MSWORD завжди відкриє його. Ця проблема завжди і виникала лише при спробі завантажити / відкрити DOCX за допомогою IE8. FF4 та Chrome працювали бездоганно. Я спробував додати належні типи MIME до / etc / mime-type та до .htaccess на стороні сервера. Я також спробував відключити "Відкрити файли на основі вмісту, а не розширення файлу" (але це призвело лише до того, що браузер відкрив DOCX як нечитабельний текст ASCII), встановивши для реєстру FEATURE_MIME_ * значення "0" і додавши URL-адресу сервера до Список "Довірені сайти". Знову-таки, НІКОЛИ ЦІ ВИДАЛЬНІ ЛОГІЧНІ РІШЕННЯ НЕ РОБОТИ ДЛЯ МНЕ.


цілком можливо, щоб асоціація на вашому робочому столі для локальних файлів .docx була правильною, але все ще не відповідає файлу application / vnd.openxmlformats-officedocument.wordprocessingml.document з веб-сервера. Перевірте значення реєстру HKCR \ .docx \ ContentType
James

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.