Pourquoi les fichiers docx, xlsx, pptx sont-ils téléchargés à partir du serveur Web au format zip?


36

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

Certains navigateurs clients pensent qu'il s'agit de fichiers zip normaux et modifient l'extension du fichier lors du téléchargement. Comment puis-je le faire ne plus le faire.

(Utilisation du serveur Ubuntu)


Ces types de fichiers fonctionnent correctement avec IE9 sans apporter de modification à htaccess, httpd.conf, etc.

Réponses:


34

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

J'ai eu le même problème et l'a ajouté à .htaccess, mais la même chose se produit dans IE (même après la suppression du cache). Devez-vous redémarrer Apache pour que cela prenne effet?
Supertrue

14

Le serveur n'a pas les 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. 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


Comme il s’agit de mon serveur et que j’ai accès à /etc/mime.types, c’est la meilleure réponse pour moi.
daveilers

sous Windows, le chemin peut être quelque chose comme <répertoire d'installation d'apache> \ apache \ conf \ mime.types
AJ.

Cela ne fonctionne pas avec Apache2.4
rasanga


1

J'ai le contrôle administratif total du serveur et de la machine cliente impliquée dans ce problème et AUCUNE de ces solutions proposées n'a permis de résoudre ce problème.

À la fin, la seule chose qui FIXE ce problème pour moi était de ...

1) désinstaller 7-Zip (le navigateur n'a donc rien à associer au fichier zip)

2) (Je ne suis pas sûr que cette étape soit nécessaire, mais) puis j'ai téléchargé à nouveau le fichier DOCX (où, comme par hasard, il est toujours présenté sous forme de fichier ZIP), cependant, cette fois, on me demande quelle application ouvrir avec 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 fichier DOCX ont abouti au téléchargement d’un fichier DOCX et à son ouverture avec l’application MSWORD appropriée.

REMARQUE: avant de conclure que l'association de mon fichier était cassée, permettez-moi de confirmer que, lorsque ce problème se produirait, je pourrais double-cliquer sur n'importe quel DOCX dans l'explorateur et MSWORD l'ouvrirait toujours. Ce problème se produisait toujours et uniquement lorsque vous essayez de télécharger / ouvrir un fichier DOCX avec IE8. FF4 et Chrome ont parfaitement fonctionné. 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 de leur extension" (mais le navigateur a alors ouvert le fichier DOCX sous forme de texte ASCII illisible), en définissant la clé de registre FEATURE_MIME_ * sur "0" et en ajoutant l'URL du serveur à Liste "Sites de confiance". Encore une fois, AUCUNE DE CES SOLUTIONS SEMBLABLEMENT LOGIQUES NE FONCTIONNE POUR MOI.


il est tout à fait possible que l'association sur votre bureau pour les fichiers .docx locaux soit correcte tout en ne faisant pas correspondre les fichiers application / vnd.openxmlformats-officedocument.wordprocessingml.document à partir d'un serveur Web. Vérifiez la valeur de registre HKCR \ .docx \ ContentType
James

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.