我有一個servlet,其中的一個動作可以根據從表單中傳遞過來的參數生成一個CSV文件。 servlet代碼段看起來像這樣:由servlet生成的文件沒有下載
response.setContentType("text/csv");
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Disposition","attachment; filename=" + filename);
PrintWriter pw = response.getWriter();
pw.println(content); // content is some CSV in a string
pw.close();
的瀏覽器(二者FF和鉻)似乎被忽略附件指示器,因爲它改變URL到相應的動作(例如http://myserver.com/filedownload)和不呈現另存爲對話。我檢查Chrome的響應頭,它看起來像這樣(編輯現在顯示完整的,「未解析」標頭):
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Disposition: attachment; filename=JobTracking.csv
Content-Type: text/csv;charset=UTF-8
Content-Length: 16876
Date: Tue, 15 Jul 2014 22:32:49 GMT
..和「響應」選項卡顯示我的內容寫入回覆。
我接近我的智慧結局,因爲我看過的所有例子都很成功。
請張貼瀏覽器接收完整的響應。也許有一個重定向發生? –
通過「完全響應」,您是指Chrome開發人員工具窗口中「響應」選項卡上的內容?這只是將CSV寫入響應。我編輯了問題以顯示「未解析的」響應標題。 –
什麼是請求URI,以及「相應操作」是什麼意思? –