xlsx файлы при загрузке интерпретируются как zip файлы, почему?

8

Предыстория: по какой-то причине, когда пользователь пытается открыть файл xslx (excel 2007) из нашей интрасети с помощью MSIE, диалоговое окно загрузки файла интерпретирует его как файл «zip».

Следует признать, что xslx-файлы действительно являются zip-файлами, но мы не хотим такого поведения. Просто откройте в Excel, пожалуйста.

Вопрос:

Firefox, OTOH, открывает файлы нормально. Возможно ли, что виноваты мои конфиги apache? или это проблема клиента-браузера?

dreftymac
источник
1
какую версию IE вы используете?
Уоррен

Ответы:

7

Вы действительно можете исправить это в конфигурации 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, а не почтовыми индексами.

Тони Мейер
источник
Это работает, но какого черта это происходит только в IE? Это не проблема Firefox, так как только в IE ...
Кейн Виана
1
И Firefox, и IE имеют алгоритмы, которые используются для определения типа файла, когда он не предоставляется сервером (как в этом случае). Алгоритм Firefox способен распознавать файлы, а IE - нет - это, по общему признанию, иронично, учитывая, что Office и IE созданы одной и той же компанией, но это не особенно удивительно.
Тони Мейер
1
Хороший ответ. Я полностью забыл об этом. Ирония в отношении Office & IE действительно довольно богата ...
DaveParillo
6

Я сомневаюсь, что это проблема конфигурации Apache. Internet Explorer имеет собственный алгоритм обнаружения типов MIME . Вы можете обойти это поведение, щелкнув правой кнопкой мыши и выбрав «Файл -> Сохранить как» или просто используя формат MS 2003 .doc.

DaveParillo
источник
Да, но ... это странно. Мы не можем сказать конечным пользователям «Нажмите сохранить как, потому что файл загружен неправильно» ... Это проблема IE, которая исправлена ​​в конфигурации Apache.
Кейн Виана
Да, это странно, и я полностью забыл о mod_mime, так что вы можете исправить это на стороне сервера. Пойди
разберись,
1

если это проблема конфигурации Apache, то существует файл, содержащий сопоставление расширений для типов MIME, которые вы можете быстро изучить, чтобы исключить эту возможность.

frankster
источник