給出一個文件的連接,執行一個靜態的文件,這不過是HTML的腳本書寫方式。那麼若是咱們在內存中生成文件內容,存放在byte[]中,並以指定的文件名字下發給用戶,應該如何處理?瀏覽器
response.setHeader("Content-Disposition","attachment; filename=" + fileName); response.setContentType("application/octet-stream"); ServletOutputStream stream = response.getOutputStream(); stream.write(fileContent); //fileContent是具體內容 byte[]
Content-Disposition將強制瀏覽器詢問用戶是否保存文件,而非在瀏覽器中直接打開。app
返回的HTTP 200 OK例子:ide
這種內存方式不適用於內容很大的文件,若如此,則應利用文件,一邊從文件讀取,以便flush()到PrintWriter中。blog