我需要通過http下載excel文件。問題是Chrome瀏覽器忽略了我在響應標題中設置的文件名,而其他瀏覽器表現良好。Chrome中的文件下載名稱
resp.setContentType("application/vnd.ms-excel");
resp.setHeader("Content-disposition:", "attachment; filename=grid.xls");
Chrome將其保存爲「excel.xls」。我怎樣才能使鉻集文件名?謝謝
我需要通過http下載excel文件。問題是Chrome瀏覽器忽略了我在響應標題中設置的文件名,而其他瀏覽器表現良好。Chrome中的文件下載名稱
resp.setContentType("application/vnd.ms-excel");
resp.setHeader("Content-disposition:", "attachment; filename=grid.xls");
Chrome將其保存爲「excel.xls」。我怎樣才能使鉻集文件名?謝謝
獲取HTTP跟蹤,或使用redbot.org測試您的網站。
順便說一句:在setHeader的第一個參數中的尾部冒號看起來很腥。
我一定會使用Fiddler或Wireshark來查看瀏覽器正在接收的內容。尾隨結腸良好的吸取。你不應該需要它,因爲設置標題將用冒號分隔鍵和值 – 2012-07-20 08:25:58
這是冒號,謝謝! – 2012-07-20 08:30:38
在http://greenbytes.de/tech/tc2231/#doublecolon添加了測試用例,表明Safari和Chrome在這裏做了正確的事情。 – 2012-07-20 15:57:56
我只是在看我們爲下載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中適用。字符集有可能是區別嗎?
不,內容類型的charset參數應用於有效負載,而不是頭部字段。 – 2012-07-20 09:41:53
刪除第一個參數中的尾部冒號setHeader修復了問題。
出於好奇:您使用的是什麼servlet實現? – 2012-07-20 09:42:42