Chrome hat das "Failed to load PDF-Dokument" Fehlermeldung auf inline-PDF-Dateien

Ich habe ein problem mit dem Lesen der pdf-Datei in Chrome mittels PHP.

Folgende code ist, wie ich in PHP

$path = "actually file path";
header("Pragma: public");
header("Expires: 0");
header("Content-type: $content_type");
header('Cache-Control: private', FALSE);
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header("Content-Disposition: inline; filename=\"$filename\"");
header('Content-Transfer-Encoding: binary');
header('Content-Length' . filesize($path));
ob_clean();
flush();
readfile($path);

Hier, habe ich den " Content-Disposition inline. Denn ich möchte die Anzeige der pdf-Datei, wenn der Benutzer browser-build-in pdf-viewer-plugin. Wie Sie vielleicht wissen, Chrome hat build-in pdf-viewer.

Das problem ist, ich habe Haufen von pdf-Dateien auf dem server. Nur einige von Ihnen eingesehen werden kann, die von Chrome. Ich kann nicht herausfinden, warum andere nicht in die gleiche Weise arbeiten. Ich habe die Erlaubnis der einzelnen Dateien. Wie es aussieht, nicht die Erlaubnis problem.

Ist da jemand, der weiß, was das problem ist? Danke.

Ändern Sie zu zwingen, einen download ("Content-disposition: attachment/Content-type: application/octet-stream), laden/speichern Sie die gute PDF-und eine schlechte pdf, und vergleichen was da gespeichert, was auf dem server.
Ich versuche, die. Beide können heruntergeladen werden und Aussehen wie das gleiche. Ich Vergleiche auch, dass mit der Datei auf dem server. Sie sind die gleichen. Wenn ich wechseln Sie zurück zu " Content-disposition: inline. Es funktioniert einfach nicht. 🙁 Ich habe sogar vergleichen Sie die response-header. Sie sind die gleichen.
Was passiert, wenn Sie versuchen, die Sicht eines direkt statt über Ihr Skript?
Sie können anzeigen, die direkt und ohne Umweg über das script.
Dann was ist der Sinn des Skripts?

InformationsquelleAutor easycoder | 2011-04-14

Schreibe einen Kommentar