本文部署環境是window2003 32位,java1.7,因為是window環境java內存受到限制,當通過網站上傳大文件時,比如1、2個G就會導致內存溢出。那麼得怎麼辦呢?用戶經常要保存視頻等幾個G的大文件。現在我來說說自己的做法。
工具/原料
spring MVC開發環境
瀏覽器
方法/步驟
前端採用dropzone可拖拽多文件上傳,後端採用MultipartFile接收。
正如圖中所說,getBytes方法會一次加載所有數據,會導致內存溢出。解決辦法就是開闢一小塊內存如1024byte,以流的形式循環讀取上傳的數據,再輸出文件。
下面演示一下文件上傳的效果。
彈出文件選擇框。這裡選擇一個4個多G的安裝文件。
如下圖,可以看到加載效果,滾動條在滾動。
最後看到文件上傳完畢,可以看到文件是4.3個G。
再看一下網站後臺磁盤,upload文件夾中已經有該安裝文件。