Comment déclencher une boîte de dialogue Téléchargement de fichier pour un type MIME connu

Avertissement

L’application de bureau Internet Explorer 11, mise hors service et dont le support a pris fin, a été désactivée définitivement via une mise à jour Microsoft Edge sur certaines versions de Windows 10. Pour plus d’informations, consultez le forum aux questions sur la mise hors service de l’application de bureau Internet Explorer 11.

Cet article fournit des informations sur la création d’une boîte de dialogue Téléchargement de fichiers pour les types MIME connus dans Microsoft Edge et Internet Explorer.

Version d’origine du produit : Internet Explorer 11, Internet Explorer 10, Internet Explorer 8, Internet Explorer 7, Microsoft Edge
Numéro de la base de connaissances d’origine : 260519

Résumé

Lorsque vous servez un document à partir d’un serveur Web, vous pouvez inviter immédiatement l’utilisateur à enregistrer le fichier directement sur le disque de l’utilisateur, sans l’ouvrir dans le navigateur. Toutefois, pour les types MIME (Multipurpose Internet Mail Extensions) tels que Microsoft Word (application/ms-word), le comportement par défaut consiste à ouvrir le document dans Internet Explorer.

Vous pouvez utiliser l’en-tête content-disposition pour remplacer ce comportement par défaut. Son format est le suivant :

Content-disposition: attachment; filename=fname.ext

Plus d’informations

Content-disposition est une extension du protocole MIME qui indique à un agent utilisateur MIME comment afficher un fichier joint. La plage de valeurs valides pour content-disposition est abordée dans La requête de commentaire (RFC) 1806 (voir la section Références de cet article). Cet article se concentre sur l’argument pièce jointe, qui indique à un agent utilisateur (dans ce cas, Internet Explorer) d’enregistrer un fichier sur le disque au lieu de l’enregistrer inline.

Quand Internet Explorer reçoit l’en-tête, il déclenche une boîte de dialogue Téléchargement de fichier dont la zone nom de fichier est automatiquement remplie avec le nom de fichier spécifié dans l’en-tête. Notez que c’est par conception ; il n’existe aucun moyen d’utiliser cette fonctionnalité pour enregistrer un document sur l’ordinateur de l’utilisateur sans demander un emplacement d’enregistrement.

Il existe deux façons d’utiliser Internet Explorer pour spécifier un content-disposition en-tête pour un fichier : dynamiquement et statiquement.

Pour appliquer l’en-tête de manière dynamique, créez un fichier ASP (Active Server Pages) qui écrit le document dans le navigateur. Utilisez la Response.AddHeader méthode pour ajouter l’en-tête content-disposition . Par exemple :

Response.AddHeader "content-disposition","attachment; filename=fname.ext"

Cette technique est idéale lorsque vous souhaitez protéger un magasin de documents sur votre serveur, en particulier un magasin qui existe en dehors de la racine web.

Pour appliquer l’en-tête de manière statique, cliquez avec le bouton droit sur le document dans le Service Manager Internet, puis sélectionnez Propriétés. Sélectionnez l’onglet En-tête HTTP et entrez l’en-tête content-disposition . Cela fonctionne mieux lorsque vous souhaitez uniquement appliquer content-disposition quelques fichiers sur votre système et que vous ne nécessitez pas la surcharge d’ASP.

References

Pour plus d’informations sur content-disposition, consultez Request for Comments (RFC) 1806.