Il y a peu, j’ai rencontré un problème avec les fichier d’Office 2007. Avec cette dernière version sont apparut de nouveaux format de fichier (docx, xlsx, …) qui sont en fait une archive contenant votre document. Le problème était que mon application, hébergée sous Tomcat, permettait de télécharger des fichiers de ce type qui était reconnu comme une archive par Internet Explorer.
Afin de résoudre mon problème, il faut modifier le fichier web.xml de Tomcat qui se trouve dans le dossier TOMCAT-HOME/conf (TOMCAT_HOME représentant le dossier où est installé Tomcat). Dans la partie relative au associations par défaut des types mime, il faut rajouter ceux pour les fichiers de type OpenXML:
<mime-mapping>
<extension>docm</extension>
<mime-type>application/vnd.ms-word.document.macroEnabled.12</mime-type>
</mime-mapping>
<mime-mapping>
<extension>potx</extension>
<mime-type>application/vnd.openxmlformats-officedocument.presentationml.template</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ppam</extension>
<mime-type>application/vnd.ms-powerpoint.addin.macroEnabled.12</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ppsm</extension>
<mime-type>application/vnd.ms-powerpoint.slideshow.macroEnabled.12</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ppsx</extension>
<mime-type>application/vnd.openxmlformats-officedocument.presentationml.slideshow</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pptm</extension>
<mime-type>application application/vnd.ms-powerpoint.presentation.macroEnabled.12</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pptx</extension>
<mime-type>application/vnd.openxmlformats-officedocument.presentationml.presentation</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xlam</extension>
<mime-type>application/vnd.ms-excel.addin.macroEnabled.12</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xlsb</extension>
<mime-type>application/vnd.ms-excel.sheet.binary.macroEnabled.12</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xlsm</extension>
<mime-type>application/vnd.ms-excel.sheet.macroEnabled.12</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xlsx</extension>
<mime-type>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xltm</extension>
<mime-type>application/vnd.ms-excel.template.macroEnabled.12</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xltx</extension>
<mime-type>application/vnd.openxmlformats-officedocument.spreadsheetml.template</mime-type>
</mime-mapping>
<mime-mapping>
<extension>dotm</extension>
<mime-type>application/vnd.ms-word.document.macroEnabled.12</mime-type>
</mime-mapping>
<mime-mapping>
<extension>docx</extension>
<mime-type>application/vnd.openxmlformats-officedocument.wordprocessingml.document</mime-type>
</mime-mapping>
<mime-mapping>
<extension>dotx</extension>
<mime-type>application/vnd.openxmlformats-officedocument.wordprocessingml.template</mime-type>
</mime-mapping>
<mime-mapping>
<extension>potm</extension>
<mime-type>application/vnd.ms-powerpoint.template.macroEnabled.12</mime-type>
</mime-mapping>
Un petit redémarrage de Tomcat, et IE devrait reconnaitre correctement vos fichiers et les ouvrir avec Office.
Tweet