我遇到了這個問題,我無法解決我的生活。PDF重定向在Chrome上顯示空白
我有一個簡單的PHP腳本重定向到PDF文件,代碼如下:
$file = "url/to/file";
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private", false);
header("Content-Description: File Transfer");
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="somefile.pdf"');
header('Content-Transfer-Encoding: binary');
readfile($file);
exit();
如果我直接在瀏覽器選項卡試試吧,它的工作原理,它與Chrome的PDF插件連接,並將其顯示對我來說。如果我嘗試將其放在另一頁的鏈接上,或嘗試通過javascript中的window.open打開它,它會顯示一個空白頁面。這隻發生在Chrome和Safari,Firefox和Edge顯示它很好。在任何人詢問之前,我已經嘗試過使用和不使用緩存和內容描述標頭,我從這裏找到的答案中獲得了這些,這只是我擁有的最後一個版本。
任何想法?
在此先感謝
編輯
我忘了提及這個問題,即使我重新加載頁面的空白標籤上仍然存在。我已經檢查了devtools上的Network選項卡,它們顯示了bot請求和響應(重定向和直接響應)的相同結果,但重定向不起作用。此外,任何一種都不會有任何錯誤。
此外,我試過它沒有退出(),不會改變的事情。
是不是還有別的你需要做的?您正在將文件讀入內存,然後退出代碼。 – jeff
@jeff php'readfile'讀取並輸出:http://php.net/manual/en/function.readfile.php'讀取一個文件並將其寫入輸出緩衝區' –
@KarlReid好吧,你去 - 學習東西新的每一天:-)(注意在開大嘴之前自檢手冊)。 – jeff