Pliki xlsx są interpretowane jako pliki zip podczas pobierania, dlaczego?

8

Tło: Z jakiegoś powodu za każdym razem, gdy użytkownik próbuje otworzyć plik xslx (excel 2007) z naszego intranetu za pomocą MSIE, okno dialogowe pobierania pliku interpretuje go jako plik „zip”.

Wprawdzie pliki xslx naprawdę plikami zip, ale nie chcemy takiego zachowania. Poprostu otwórz w Excelu.

Pytanie:

Firefox, OTOH, otwiera pliki normalnie. Czy to możliwe, że przyczyną błędu są moje konfiguracje Apache? czy jest to problem związany tylko z przeglądarką klienta?

dreftymac
źródło
1
z jakiej wersji IE korzystasz?
warren

Odpowiedzi:

7

Naprawdę możesz to naprawić w konfiguracji Apache. Dodaj następujące wiersze (i upewnij się, że mod_mime jest włączony):

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

Zapewni to, że Apache wyśle ​​odpowiedni typ MIME do klienta, a IE zrozumie, że pliki są dokumentami pakietu Office, a nie zamkami błyskawicznymi.

Tony Meyer
źródło
To działa, ale dlaczego, do diabła, dzieje się to tylko w IE? To nie problem z firefoxem, ponieważ jest właśnie w IE ...
Keyne Viana
1
Zarówno Firefox, jak i IE mają algorytmy, które służą do określania typu pliku, gdy nie jest on dostarczany przez serwer (jak w tym przypadku). Algorytm Firefoksa jest w stanie rozpoznać pliki, a IE nie jest - co jest ironiczne, biorąc pod uwagę, że Office i IE są budowane przez tę samą firmę, ale nie jest to szczególnie zaskakujące.
Tony Meyer,
1
Niezła odpowiedź. Zupełnie o tym zapomniałem. Ironia dotycząca Office i IE jest rzeczywiście dość bogata ...
DaveParillo,
6

Wątpię, że jest to problem z konfiguracją Apache. Internet Explorer ma własny algorytm wykrywania typu MIME . Możesz obejść to zachowanie, klikając prawym przyciskiem myszy i wybierając „Plik -> Zapisz jako” lub po prostu użyj formatu MSD .doc.

DaveParillo
źródło
Tak, ale ... to dziwne. Nie możemy powiedzieć użytkownikom końcowym: „Kliknij Zapisz jako, ponieważ plik jest pobierany nieprawidłowo” ... Jest to problem z IE, który ma poprawkę dotyczącą konfiguracji apache.
Keyne Viana,
Tak, to dziwne i zupełnie zapomniałem o mod_mime, więc możesz to naprawić po stronie serwera. Idź rysunek IE potrzebuje apache, aby powiedzieć mu, jak interpretować dokument biurowy ....
DaveParillo
1

jeśli jest to problem z konfiguracją apache, to plik zawiera mapowanie rozszerzeń na typy mime, które można szybko sprawdzić, aby wykluczyć tę możliwość.

frankster
źródło