解决java web下载2G文件 报错问题
2020-12-02 04:25:01
项目实际开发中,发现下载的文件超过2G就会报错。如图:
错误信息
它的意思是说超过整数的最大值,当时比较蒙,下载里面也没有用到Integer,怎么报了这个东东,后来看源码才知道了所以然……
小编一开始使用的下载方式是使用:FileUtils这个工具类。
FileUtils
点进去源码里面:
readFileToByteArray
toByteArray
发现了Integer.MAX_VALUE,豁然开朗……
问题来了,这么看 我大文件下载不下来了,另寻出路
可以通过缓存的方式进行下载
如图:
最终文件下载成功。
所以大家在写下载方法时,一定要考虑文件大小的问题,在选择合适的下载方式。
阅读剩余内容