web-dev-qa-db-fra.com

Chrome télécharge les liens d'image PNG. Je veux qu'ils s'ouvrent pour être affichés dans un nouvel onglet. Comment puis-je faire Chrome faire cela?)

Lorsque je clique sur un lien d'image en ce moment, Chrome télécharge l'image au lieu de l'ouvrir.

Même si je clique avec le bouton droit et sélectionne Open link in new tab Chrome toujours télécharge l'image, et je dois suivre les étapes supplémentaires d'ouverture du fichier pour une visualisation manuelle.

Cela me semble être un problème de type mime, mais pourquoi Chrome ne reconnaîtrait-il pas "image/png" comme un type mime valide pour l'affichage? Toutes les images PNG s'affichent très bien dans une page HTML .

Cela ressemble à une question vraiment stupide, mais j'ai googlé et cherché partout et je ne peux pas me rapprocher d'une réponse. Suis-je le seul au monde à avoir ce problème?

REMARQUE: cela ne se produit que pour les images PNG.

42
Robusto

Le serveur Web sert probablement l'image à l'aide du image/x-png Type MIME. Chrome ne reconnaît pas cela comme une image (à partir de Août 2012 Février 2013), propose donc le fichier en téléchargement.

image/x-png est un type MIME hérité des jours précédents a obtenu son nom officiel , image/png, en 1996. Cependant, lorsque Internet Explorer télécharge une image, il le fait à l'aide de image/x-png " pour la compatibilité descendante ". Je crois que c'était le cas jusqu'à IE8, et a été "corrigé" dans IE9. Si le serveur Web ne gère pas correctement cela (le serveur Web doit détecter ce type MIME non standard et le traiter comme image/png), il peut servir le type MIME fourni par le client à d'autres utilisateurs, y compris à Google Chrome. En outre, certains sites Web diffusent tous les fichiers PNG sous la forme image/x-png.

Si vous êtes le développeur Web , vous devez détecter _ image/x-png et le traiter comme image-png (ne jamais servir image/x-png).

Si vous êtes l'utilisateur signalez-le comme un bug et voyez @ réponse de kriegaex pour une solution de contournement.

19
Tom Clift

@Tom Clift a raison, et voici mon solution de contournement pour cela: utilisez Chrome Redirector et ajoutez une règle remplaçant le Content-Type entête. C'est ça. :-)

16
kriegaex