2012-07-20 60 views
3

我需要通過http下載excel文件。問題是Chrome瀏覽器忽略了我在響應標題中設置的文件名,而其他瀏覽器表現良好。Chrome中的文件下載名稱

resp.setContentType("application/vnd.ms-excel"); 
resp.setHeader("Content-disposition:", "attachment; filename=grid.xls"); 

Chrome將其保存爲「excel.xls」。我怎樣才能使鉻集文件名?謝謝

+0

出於好奇:您使用的是什麼servlet實現? – 2012-07-20 09:42:42

回答

7

獲取HTTP跟蹤,或使用redbot.org測試您的網站。

順便說一句:在setHeader的第一個參數中的尾部冒號看起來很腥。

+0

我一定會使用Fiddler或Wireshark來查看瀏覽器正在接收的內容。尾隨結腸良好的吸取。你不應該需要它,因爲設置標題將用冒號分隔鍵和值 – 2012-07-20 08:25:58

+1

這是冒號,謝謝! – 2012-07-20 08:30:38

+0

在http://greenbytes.de/tech/tc2231/#doublecolon添加了測試用例,表明Safari和Chrome在這裏做了正確的事情。 – 2012-07-20 15:57:56

0

我只是在看我們爲下載CSV文件做的事情。我們發送下列標題;

Cache-Control: no-cache,no-store,max-age=0 
Pragma: No-cache 
Content-Length: 312 
Content-Type: application/csv;charset=UTF-8 
Content-disposition: attachment; filename="MyCsvFileToSave.csv" 

這對我們在Chrome中適用。字符集有可能是區別嗎?

+0

不,內容類型的charset參數應用於有效負載,而不是頭部字段。 – 2012-07-20 09:41:53

-1

刪除第一個參數中的尾部冒號setHeader修復了問題。

相關問題