Wie kann Chrome angewiesen werden, PDF-Dateien herunterzuladen, anstatt sie im Browser (vor) anzuzeigen?

9

Ich habe eine PDF-Datei zum Herunterladen durch Benutzer auf meiner Website.

Gibt es eine Möglichkeit, Chrome anzuweisen, die PDF-Datei nicht im Browser des Benutzers anzuzeigen, wenn der Benutzer auf den Link zur PDF-Datei klickt, sondern die PDF-Datei stattdessen in den Download-Ordner des Benutzers herunterzuladen? Oder weisen Sie Chrome zumindest an, den Benutzer zu fragen, ob er die PDF-Datei im Browser anzeigen oder herunterladen möchte (anstatt sie nur automatisch im Browser anzuzeigen)?

Vielen Dank :)

rassom
quelle
Danke :) Versuchte die bestbewertete Antwort hier, aber es funktioniert nicht :( wordpress.stackexchange.com/questions/5419/…
rassom
1
Ich denke, das wird für Chrome nicht funktionieren, da Chrome das Dokument als PDF erkennt, bevor Sie htaccess laden und mit dem Browser interagieren. Daher lädt Chrome es als PDF und greift nicht als Download-Aktion darauf zu.
Möglicherweise könnte ein Javascript hinzugefügt werden, das den Link über eine bestimmte CSS-ID findet, und dann ein Download-Attribut hinzufügen, siehe w3schools.com/TAgs/att_a_download.asp . Wenn jemand hier genug Javascript weiß, um es zu tun, wäre Hilfe dankbar,
rassom
1
@rassom, welchen Web-Server verwendest du? Der Content-Dispositionim Link im ersten Kommentar erwähnte Header ist der richtige Weg, dies zu tun.
schwer
1
Die Inhaltsdisposition in .htaccess funktioniert nicht, hat es bereits versucht.
Rassom

Antworten:

11

Sie können die downloadEigenschaft in Ihrem Link (Anker) folgendermaßen verwenden:

<a href="some/path/somefile.pdf" download target="_blank">download PDF file</a>

Dies würde das Herunterladen in den Browsern erzwingen, die dies unterstützen (Chrome, Firefox und Opera). Es wird jedoch derzeit in IE oder Safari gemäß diesem Link nicht unterstützt

Quelle: /programming/3802510/force-to-open-save-as-popup-open-at-text-link-click-for-pdf-in-html

Kristian
quelle
1
Dokumentation für das Attribut, da es einige coole Funktionen hat. Es ist schade, dass IE hartnäckig ist. w3schools.com/tags/att_a_download.asp
Es ist auch so schlimm, dass Chrome das Attribut für dieselbe Domain und denselben Port einschränkt :-( Sie können die Datei jedoch über "Speichern unter"
herunterladen
2

Ich bin nicht sicher, ob es durch benutzerdefinierten Code in der Website möglich ist. Soweit ich weiß, hängt es völlig von den Benutzereinstellungen in ihrem Chrome-Browser ab.

Wenn Sie Folgendes eingeben : chrome: // plugins / , werden die Chrome-Plugins aufgelistet. Wenn der Benutzer das Plugin Chrome PDF Viewer deaktiviert , wird nur Chrome zum Herunterladen von PDFs aufgefordert, andernfalls wird PDF dort automatisch geöffnet.


quelle
Vielen Dank, aber ich beantworte nicht die Frage, wie ich als Webmaster sicherstellen kann, dass dies das Verhalten von Benutzern ist, die diese Chrome-Voreinstellungen nicht festgelegt haben. Aber nett von dir zu antworten :-)
rassom
1

Sie können dies einfach tun, indem Sie nicht auf die PDF-Datei klicken, mit der rechten Maustaste darauf klicken und "Link speichern unter" auswählen. Anschließend beginnt Chrome mit dem Herunterladen der PDF-Datei und überprüft das Dateiformat, bevor Sie die Linkadresse speichern. Im Allgemeinen wäre es .pdf, aber wenn nicht, schreiben Sie .pdf manuell danach.

Chirag
quelle
Vielen Dank, aber ich beantworte nicht die Frage, wie ich als Webmaster sicherstellen kann, dass dies das Verhalten von Benutzern ist, die diese Chrome-Voreinstellungen nicht festgelegt haben. Aber nett von dir zu antworten :-)
rassom