Force PNG pour télécharger au lieu de l'ouvrir dans le navigateur avec IIS
J'ai besoin d'être en mesure d'avoir un sous-répertoire de toutes les images PNG être téléchargé au lieu de ouvert dans la fenêtre du navigateur. Je suis à l'aide de IIS pour le serveur web.
Est-il un moyen de forcer un format de PNG être téléchargeable?
Serverfault.com est probablement le meilleur endroit pour poser cette question.
Bien qu'il ne savait pas son nothisfault.com!
Bien qu'il ne savait pas son nothisfault.com!
OriginalL'auteur RedWolves | 2009-06-24
Vous devez vous connecter pour publier un commentaire.
Que les autres affiches ont dit, vous devez ajouter le HTTP-tête Content-Disposition, avec une valeur de pièce jointe, à l'adresse HTTP de la réponse générée par IIS au moment de servir les Png en question.
Pas certain de la version d'IIS à l'aide de sont mais:
IIS6
Pour IIS7:
Sinon, placez ce site web.config dans le dossier avec les fichiers:
Cela devrait forcer le format Png servi à partir de ce répertoire pour être téléchargeable.
Hmm, j'ai eu des problèmes avec cet en-tête dans IE, dans le passé, si les noms des fichiers contenus URI caractères réservés eg ':'. Heureux que vous avez trouvé une solution de contournement, de toute façon.
Pas besoin de réinitialiser IIS. Tous de web.les modifications de configuration de travail à la volée. Cela fonctionne aussi très bien avec IE9 et IE10. En fait, tous les navigateurs que j'ai essayé (IE, Chrome, FF et Safari) cela fonctionne très bien pour les fichiers JPG, PNG, MP3 et MPG.
Travaillé dans le Web IIS.config pour protéger le contenu d'un dossier particulier que les utilisateurs ont accès pour le téléchargement de fichiers (empêche l'exécution de scripts téléchargés et les forces d'une boîte de dialogue de téléchargement). Merci!
OriginalL'auteur Amal Sirisena
Vous ne pouvez pas si vous sert directement les PNGs, mais si vous utilisez de l'ASP, vous pouvez ajouter:
OriginalL'auteur MiffTheFox
Vous devez envoyer cet en-tête pour le navigateur:
Je n'ai aucune idée sur comment faire cela à l'aide de IIS.
OriginalL'auteur Georg Schölly
Toutes les solutions que j'ai essayé de faire en sorte qu'il permet de télécharger dans d'autres navigateurs sauf IE. C'est à dire est d'essayer d'être "utile" et décide de ce qu'elle pense serait le meilleur serveur du client, dans ce cas, c'est afficher le fichier png dans le navigateur.
Il y a toujours la programatic façon de le faire comme cela a été souligné. Mais je ne cherchais pas à aller dans cette voie.
À la fin, j'individuellement zippé jusqu'au 67 fichiers PNG et liés à ceux-ci. C'est pas joli, mais il fonctionne.
Merci à tous pour l'aide.
OriginalL'auteur RedWolves
Probablement, ma réponse est obsolète, mais nous espérons qu'elle puisse être utile pour quelqu'un...
Que les autres affiches ont dit, vous devez ajouter l'adresse HTTP "Content-Disposition' en-tête de réponse.
Le problème peut apparaître si vous ne pouvez pas utiliser le Gestionnaire des services internet et de l'utiliser en ligne de commande.
Donc, si vous avez besoin d'ajouter cette jolie tête de réponse HTTP à l'aide de la ligne de commande uniquement, vous pouvez utiliser une telle construction:
Il va ajouter HTTP "Content-Disposition' en-tête de réponse pour votre '/chemin/vers/les images d'un dossier de votre "Site Web par Défaut'.
Cela peut être utile dans le cas où vous ne autimaticaly de configuration de votre serveur IIS avec un couple de scripts ou de chauve-souris/CMD-fichiers.
OriginalL'auteur fycth