web-dev-qa-db-fra.com

Pourquoi les fichiers docx, xlsx, pptx sont-ils téléchargés depuis le serveur Web sous forme de fichiers Zip?

Sur mon serveur Apache, j'ai stocké plusieurs fichiers docx, xlsx pptx.

Certains navigateurs clients pensent que ce sont des fichiers Zip normaux et changent l'extension du fichier lors du téléchargement. Comment puis-je faire en sorte qu'il ne fasse plus ça?.

(Utilisation du serveur Ubuntu)

36
daveilers

Les fichiers sont en fait des ZIP de documents XML. Ajoutez ceci à votre .htaccess dans 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

Le serveur n'a pas de types MIME appropriés configurés pour les nouveaux types de fichiers MS

ajoutez ce qui suit au fichier /etc/mime.types et redémarrez Apache et le problème devrait être résolu.

# 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 contient des informations sur ce problème

14
daveilers

On dirait que votre serveur Web regarde les nombres magiques à l'intérieur de ces fichiers et voit qu'ils SONT des fichiers Zip.

Jetez un œil à: http://www.webdeveloper.com/forum/showthread.php?t=162526

2
Evan Anderson

J'ai un contrôle administratif total sur le serveur et la machine cliente impliqués dans ce problème et AUCUNE de ces solutions proposées n'a travaillé pour corriger ce problème.

En fin de compte, la seule chose qui a résolu ce problème pour moi était de ...

1) désinstallez 7-Zip (afin que le navigateur n'ait rien à associer au fichier Zip)

2) (Je ne sais pas si cette étape est requise, mais) J'ai ensuite téléchargé à nouveau le DOCX, (où, par coïncidence, il est toujours présenté sous forme de fichier Zip), mais cette fois, je suis invité à indiquer avec quelle application l'ouvrir et Je choisis MSWORD. Je ne choisis pas "Toujours ouvrir avec MSWORD", car je ne veux pas que MSWORD ouvre toujours les fichiers Zip.

3) Réinstallez 7-Zip.

Après cela, toutes les tentatives ultérieures de téléchargement du DOCX ont en fait entraîné le téléchargement et l'ouverture d'un fichier DOCX avec l'application MSWORD appropriée.

Remarque: avant de passer à la conclusion que j'avais simplement une association de fichiers cassée, permettez-moi de confirmer que lorsque ce problème se produisait, je pouvais double-cliquer sur n'importe quel DOCX dans l'Explorateur et MSWORD l'ouvrait toujours. Ce problème se produisait toujours et uniquement lors de la tentative de téléchargement/ouverture d'un DOCX avec IE8. FF4 et Chrome fonctionnaient tous les deux parfaitement. J'ai essayé d'ajouter les types MIME appropriés à/etc/mime-types et à .htaccess côté serveur. J'ai également essayé de désactiver "Ouvrir les fichiers en fonction du contenu, pas l'extension de fichier "(mais cela a seulement conduit le navigateur à ouvrir le DOCX comme illisible ASCII), en définissant les clés de registre FEATURE_MIME_ * sur" 0 "et en ajoutant l'URL du serveur à" Trusted " Liste de sites ". Encore une fois, AUCUNE DE CES SOLUTIONS SEMBLABLEMENT LOGIQUES N'A FONCTIONNÉ POUR MOI.

1
Ken Banks

Téléchargez http://packages.ubuntu.com/oneiric/mime-support , et installez-le avec dpkg -i. Fonctionne très bien!

PS: Apache sur Ubuntu et Debian lit à partir de /etc/mime.types

0
pauska