以下是用於發送文件的HttpServletResponse頭和內容類型。高達32MB的數據傳遞給客戶端,但我的整個數據大小爲100MB。如何通過Http Servlet響應發送大文件
response.setContentType("application/octet-stream");
response.setHeader("Transfer-Encoding", "chunked");
response.setHeader("Content-Disposition", "attachment; filename="filename.bin");
我不能將這些數據存儲到雲存儲中,因爲這是爲每個用戶創建的。
這是否可以通過HttpServletResponse實現?或者我需要移動到其他方法,例如套接字等。
請推薦一種適用於多客戶端環境的方法。
嗨@Brainislav我正在使用谷歌應用程序引擎來實現這一點。需要GAE標籤才能看到。 – SetV
這是否(32MB的問題)發生在任何瀏覽器,或只是與特定的一個。設置「Content-Length」標題可能很有用。另請參閱http://stackoverflow.com/questions/685271/using-servletoutputstream-to-write-very-large-files-in-a-java-servlet-without-me –
您應該通過API設置分塊傳輸模式,不是這樣。除非通過API告訴它,否則它實際上不會進行任何分塊。 – EJP