Wenn einen PDF im Browser zu erzeugen programmatisch (via PHP) das gerenderte PDF zeigt fein in Firefox und Safari, aber Chrome gibt einen ERR_INVALID_RESPONSE. Es ist ein gültiger PDF - kann lokal mit Adobe Reader/Preview einmal aus den Arbeits Browsern und sogar offen in Chrome, wenn die PDF-Datei wird von einem anderen Browser gespeichert gespeichert geöffnet werden.PDF-Generierung Ergebnisse in ERR_INVALID_RESPONSE in Chrome
Die PDF-Datei durch file_get_contents()
gelesen wird, wird einen aktuellen Zeitstempel gegeben und dann an den Browser übergeben. Eine Abhilfe würde bedeuten, die Datei in einen temporären Stelle speichern und den Benutzer Umleitung (für Chrome, zumindest), aber dies ist nicht ideal.
Ich habe es erforscht und nur in der Lage gewesen bug reports dating from 2008 zu finden.
Ich habe eine Ahnung, es ist ein Header-Fehler. Nachdem das PDF erzeugt wird, werden die folgenden Header an den Browser gesendet (wieder arbeitet in FF Fein, Safari und IE):
header('Content-type:application/pdf');
header("HTTP/1.1 200 OK");
ich auch versucht habe, nach der Suche auf Stack-Überlauf die folgenden Header hinzugefügt, sondern zu nein:
header("Content-Transfer-Encoding: binary");
header('Accept-Ranges: bytes');
Gibt es fehlende Header, die Chrome benötigt? Hat jemand Erfahrung damit, dynamisch erzeugte PDFs in Chrome anzeigen zu lassen?
BEARBEITEN: Eine meiner wichtigsten Fragen ist, was dazu führen könnte, dass dies lokal in Chrome funktioniert, aber in einer Serverumgebung nicht funktionieren würde.
Vielen Dank im Voraus für jede Hilfe.
Haben Sie versucht, die Neigung zur Befestigung zu ändern? header ('Content-Disposition: Anhang ;; Dateiname = "YourFileName"'); – HNA
@HNA Ich habe - der gleiche Fehler ergibt sich in Chrome, ob mit Anhang oder nicht. Es gibt zwei Buttons: "save" (Speichern), der den 'header ('Content-Disposition: attachment;');'; so dass die Datei automatisch heruntergeladen wird (dies funktioniert lokal in Chrome, FF und Safari und funktioniert nicht lokal für Safari und Firefox). Die andere Schaltfläche, "Ansicht", zeigt nur die PDF-Datei an, ohne sie automatisch herunterzuladen. Derzeit arbeiten beide nicht in Chrome in einer nicht lokalen Instanz. –
Senden Sie eine 'header ('Content-Length:'. Filesize ($ yourfile));'? – maxhb