HTTP-Header defekt? Browser ' öffnen unser PDF nicht, sondern öffnen alle anderen PDFs [geschlossen]
On November 30, 2020 by adminKommentare
- Möglicherweise möchten Sie Ihre gesendeten Header hinzufügen. Dies ist nur eine Vermutung. Dies gehört auch auf stackoverflow.com, nicht hier 🙂
- Ich ' migriere dies nicht nach StackOverflow, es sieht hier angemessen aus. Es ist nicht unbedingt eine Codierungsfrage, aber es ist sicherlich eine Webmaster-Frage.
- Ich denke, Sie tun nicht ' Sie müssen Ihren inputStream nicht in charset = UTF-8 " für PDF konvertieren.
- Ich ' m stimme ab Um diese Frage als nicht zum Thema gehörend zu schließen, weil sie auf eine Fehlkonfiguration des Servers zurückzuführen war.
- Dies scheint nicht zum Thema zu gehören, da wir raten müssen , was falsch sein könnte. Es gibt ' nichts Greifbares, mit dem wir arbeiten können.
Antwort
Siehe Wie erzwinge ich das Öffnen von Dateien im Browser anstelle des Downloads (pdf)? mit einer Antwort von ColinM , das genau angibt, wie die Header lauten sollen:
Zeigt dem Browser an, dass die Datei im Browser angezeigt werden soll :
Content-Type: application/pdf Content-Disposition: inline; filename="filename.pdf"
Damit die Datei heruntergeladen und nicht angezeigt wird:
Content-Type: application/pdf Content-Disposition: attachment; filename="filename.pdf"
BEARBEITEN: Die Anführungszeichen um den Dateinamen sind erforderlich, wenn der Dateiname Sonderzeichen wie
filename[1].pdf
enthält, die andernfalls die Fähigkeit des Browsers zur Verarbeitung der Antwort beeinträchtigen können.
Kommentare
- Vielen Dank für diese sehr nette Antwort. Ich muss jedoch meine speziellere akzeptieren, da diese gelöst wurde Mein Problem.
Answe r
Die Lösung war etwas Besonderes.
Der Server hatte den Standard-MIME-Typ application/octet-stream
für PDF-Dateien. Nachdem ich dies in application/pdf
geändert hatte, funktionierte alles einwandfrei.
In der lighttpd-Konfiguration erreichte ich die Änderung durch Hinzufügen dieser Definition:
mimetype.assign += ( ".pdf" => "application/pdf" )
Schreibe einen Kommentar