18 votes

Obliger le lien du fichier à s'ouvrir en tant qu'aperçu dans un [nouvel] onglet (au lieu de le télécharger)

Il arrive que l'on veuille suivre un lien pdf/image/etc et le voir dans le navigateur au lieu de le télécharger.
Dans mon dernier cas, c'était avec une capture d'écran sur une Mantis que j'utilise.

Lorsque je clique pour suivre le lien, je suis immédiatement invité à enregistrer le fichier, sans possibilité de l'ouvrir dans le navigateur.
Je n'ai vraiment pas envie de le télécharger, de l'ouvrir dans une visionneuse d'images, puis de me souvenir de supprimer le fichier lorsque j'ai terminé. J'aimerais que le navigateur s'en charge lorsque je ferme l'onglet pour les images/pdf normaux, comme lorsqu'on clique sur open [image] in new tab .

Je sais pourquoi le navigateur le fait, le contenu est servi avec l'en-tête HTTP. Content-Disposition:attachment Mais je suis sûr qu'il y aurait un paramètre avancé, une option de menu contextuel cachée ou une extension géniale qui vous permettrait de visualiser quelque chose que quelqu'un voudrait que vous sauvegardiez.

Quelqu'un connaît-il quelque chose de ce genre ?


EDITAR

Il semble que Firefox ait un add-on pour ça, mais je ne trouve pas de port pour Chrome.

4voto

Sergio Cabral Points 207

Celui qui définit si le fichier sera téléchargé ou ouvert est le développeur du site. Naturellement, le fichier est ouvert dans le navigateur, mais si le développeur force l'en-tête HTML ci-dessous, sera toujours téléchargé.

Il n'y a aucun moyen de forcer. :(

Response.AddHeader("Content-Disposition", "attachment; filename=fileToForceDownload.pdf");
Response.AddHeader("Content-Length", 12345);
Response.ContentType = "application/octet-stream";
Response.BinaryWrite(bytesOfFile);

Pour ouvrir dans le navigateur, le développeur doit déclarer :

Response.AddHeader("Content-Disposition", "inline; filename=fileToOpen.pdf");
Response.ContentType = "application/pdf";

L'exemple ci-dessus a été écrit en C# mais ses paramètres sont communs à tous les sites de langage.

0voto

shanimal Points 71

Avez-vous essayé de rechercher sur Google "ouvrir un PDF dans Chrome" ?

J'avais une extension qui fonctionnait bien :

Kami (formerly Notable PDF)
2.0.6344
Document Viewer and Office Tool for your browser

Cependant, je l'ai désactivé car le PDF s'ouvre dans Chrome, même sans cette extension.

J'en ai :

Office Editing for Docs, Sheets & Slides
109.1486.1491
View and edit Microsoft Word, Excel, and PowerPoint files...

Cela me permet d'ouvrir la plupart des fichiers Office sans avoir Office (look ma, no Office).

J'espère que cela vous aidera.

0voto

Darkside Points 999

Comme l'a dit Sergio, c'est le développeur du site qui définit si le fichier sera téléchargé ou ouvert dans le navigateur. Si vous souhaitez afficher des documents PDF, je vous suggère d'activer l'option de téléchargement de fichiers PDF. Google Docs Extension qui est fournie avec chrome par défaut. Appuyez sur le bouton ctrl lorsque vous cliquez sur l'image, cela ouvre l'image dans un nouvel onglet. J'espère que cela fonctionnera pour les utilisateurs ayant ce problème.

0voto

across Points 101

Il y a Modifier le type de contenu . Cela fonctionne comme prévu (les PNG s'ouvrent dans la visionneuse interne malgré Content-Disposition : attachment dans les en-têtes de réponse) avec une règle de :

URL Filter:       .*
Original Type:    application/png
Replacement Type: application/png
Disposition:      inline

Notez bien que cela peut vous exposer à des vulnérabilités de type "cross-site scripting", et qu'il serait sage de ne pas autoriser .* dans le filtre URL. Ne le complétez que si nécessaire.

Réponse originale

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X