Content disposition
HTTP response header中的content-disposition 容許 servlet 指定文檔表示的信息。使用這種header ,你就能夠將文檔指定成單獨打開(而不是在瀏覽器中打開),還能夠根據用戶的操做來顯示。若是用戶要保存文檔,你還能夠爲該文檔建議一個文件名。這個建議 名稱會出如今 Save As 對話框的「文件名」欄中。若是沒有指定,則對話框中就會出現 servlet 的名字。
servlet 中,將 header 設置成下面這樣:
response.setHeader("Content-disposition","attachment;filename="+ "Example.xls" );
response.setHeader("Content-Disposition", "inline; filename="fliename);//點擊打開會在ie中打開。
須要說明的有三點:
(1) 中文文件名須要進行iso8859-1轉碼方可正確顯示:
fileName = new String(fileName.getBytes("GBK"),"iso8859-1");
(2)傳遞的文件名,須要包含後綴名(若是此文件有後綴名),不然丟失文件的屬性,而不能自行選擇相關程序打開。
(3)有下載前詢問(是打開文件仍是保存到計算機)和經過IE瀏覽器直接選擇相關應用程序插件打開兩種方式,前者如上代碼所示,後者以下:
response.setHeader("Content-disposition","filename="+ "Example.xls" );瀏覽器