本文部署环境是window闸拊福律200332位,java1.7,因为是window环境java内存受到限制芟坳葩津,当通过网站上传大文件时,比如2个G就会导致内存溢出。那么得怎么办呢?用户经常要保存视频等几个G的大文件。现在我来说说自己的做法。
工具/原料
springMVC开发环境
浏览器
方法/步骤
1、前端采用dropzone可拖拽多文件上传,后端采用MultipartFile接收。
2、正如图中所说,getBytes方法会一次加载所有数据,会导致内存溢出。解谛忖认噤决办法就是开辟一小块内存如1024byte,以流的形式循环读取上传的数据,再输出文件。
3、下面演示一下文件上传的效果。
4、弹出文件选择框。这里选择一个4个多G的安装文件。
5、如下图,可以看到加载效果,滚动条在滚动。
6、最后看到文件上传完毕,可以看到文件是4.3个G。
7、再看一下网站后台磁盘,upload文件夹中已经有该安装文件。