2016-09-16 36 views
1

我在使用Chrome時遇到問題,Chrome的名稱下載時提供PDF。PHP:當您在Chrome中查看時,如何更改PDF的名稱?

按鈕:Chrome PDF Download Button

由鉻讀取的文件名:

文件的名稱,當我點擊下載按鈕:ControlFile.php

我已經把範圍縮小Chrome瀏覽器出現問題。更改標題和URL欄不起作用。如果我禁用該插件,它將以正確的名稱下載。

我一直無法找到一種方法來更改生成的名稱。有人能幫助我嗎?

按照要求,這裏是內容被命名爲代碼:

header('content-type:application/pdf'); 
header('Content-Disposition: inline; filename='.$name . '.' . $format); 
echo $output; 

我使用headers_list()回聲前檢查頭。該問題僅用於在屏幕上顯示PDF並使用chrome中顯示的按鈕進行下載,而不是在下載時不顯示。

+0

請出示你的代碼,你命名文件 – cmorrissey

+0

沒有爲一個標題:HTTP://計算器.com/questions/13307499/http-download-file-name – Christian

+0

@Christian - 即SO答案強制文檔下載。 OP使用內聯處理而非附件處理,如果您希望內容在瀏覽器中呈現,並且僅在用戶想要下載內容時才提供文件名,則這是您發送的內容。 Chrome 62與OP的代碼沒有問題,所以在過去的一年裏它一定在某個地方被修復了。 –

回答

0

我想你已經錯過了報價和內容類型(附件):

header('Content-Disposition: attachment; filename="'.$name . '.' . $format.'"'); 
+0

不完全。附件內容處置要求他們下載PDF,我在另一部分代碼中有這些。下載時的文件名稱顯示正確。只有當他們希望在保存之前查看文件時纔會發生問題。 – dabuda

+0

如果訪問者在保存前查看文件,需要什麼樣的文件名?他們正在看到一個網頁,而不是一個文件。 –

+0

他們在網頁上看到PDF。文件名被正確讀取(參見上面的圖片,它由Chrome PDF Viewer在頁面上顯示)。當按下下載按鈕時,名稱和擴展名會丟失,並且會嘗試保存爲mainline.php。這只是Chrome的一個問題。 IE和FireFox完全一樣,只有正確。 – dabuda

相關問題