web-dev-qa-db-fra.com

Téléchargement de Docx à partir de IE - Définition des types MIME dans IIS

Je suis sûr qu'il y a une réponse simple à celle-ci.

J'ai un fichier docx que j'obtiens une erreur lors de la tentative de téléchargement (le document est introuvable) .... .doc va bien .txt va bien aussi. Je suis sûr que ce n'est qu'un paramètre iis, les autorisations sur le serveur sont les mêmes pour tous les fichiers.

29
nobody

Oui, c'est juste un paramètre IIS: par défaut, il ne servira que les fichiers dont l'extension correspond à un type MIME défini .

Pour autoriser le téléchargement des fichiers .docx, suivez les étapes de l'article de la base de connaissances lié ci-dessus:

  1. Ouvrez le IIS Microsoft Management Console (MMC), cliquez avec le bouton droit sur le nom de l'ordinateur local, puis cliquez sur Propriétés.
  2. Cliquez sur Types MIME.
  3. Cliquez sur Nouveau.
  4. Dans la zone Extension, tapez l'extension de nom de fichier souhaitée (dans ce cas, .docx).
  5. Dans la zone Type MIME, tapez application/vnd.openxmlformats-officedocument.wordprocessingml.document (merci au développeur @web d'avoir souligné ce type MIME, qui remplace 'application/msword' de ma réponse d'origine).
  6. Appliquez les nouveaux paramètres. Notez que vous devez redémarrer le service de publication World Wide Web ou attendre que le processus de travail soit recyclé pour que les modifications prennent effet. Dans cet exemple, IIS sert désormais les fichiers avec l'extension .docx.

Notez que l'article de la base de connaissances utilise le type MIME d'application/flux d'octets générique: bien que cela devrait généralement fonctionner, s'il existe un type MIME plus spécifique, tel que application/msword, il est toujours préférable de l'utiliser.

40
mdb

À l'étape 5 de la solution ci-dessus, vous avez dit

Dans la zone Type MIME, tapez application/msword.

Le type MIME "application/msword" est le type des fichiers ".doc" Word 2003. Le type MIME correct pour les fichiers ".docx" Word 2007 est:

application/vnd.openxmlformats-officedocument.wordprocessingml.document

Voir ce post.

27
web developer

Merci c'est très utile.

Si vous êtes intéressé, le type MIME pour .pptx (PowerPoint 2007) est

application/vnd.openxmlformats-officedocument.presentationml.presentation

et .xlsx (Excel 2007) est

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

[Ceux-ci ont été transposés. J'ai corrigé maintenant, merci de l'avoir signalé Sven.]

9
user192996

Quand aucun type MIME n'est associé à une extension dans IIS (6.0 et plus), il vous en donnera 404. Voir Les demandes de fichiers statiques renvoient une erreur 404 (IIS 6.0) . ( Edit: Le lien MSDN d'origine est mort à la mi-2017, Internet Archive en a une copie . Même si elles ont été écrites pour IIS6, les informations s'appliquent toujours aux versions modernes IIS.)

Autre que cela, et juste parce que vous n'avez pas spécifié l'erreur apparaît: Lorsque vous interdisez la mise en cache dans un en-tête, un comportement similaire peut se produire sur le client. Mais c'est un problème général, et non lié à .docx.

3
Tomalak