不使用setFileSizeMax()限制上传文件时候,即使1G文件也不存在问题,使用setFileSizeMax()限制文件大小后,我希望能够捕获到 FileUploadBase.FileSizeLimitExceededException 异常,并且将异常信息反馈给用户,在这时遇到了问题,文件上传时候,页面显示连接已重置。
/*
* 注意设置 tomcat 配置文件 server.xml
* 由于tomcat默认SwallSize 只有2M
* 所以 上传文件大小 减去 限制大小 大于2M时候 tomcat会自动重置连接
* 解决方法 配置文件 server.xml connecion 属性
* connectionUploadTimeout="36000000"
* disableUploadTimeout="false"
* maxSwallowSize="-1"
*/DiskFileItemFactory dFactory = new DiskFileItemFactory(20*1024*1024, new File("D:/"));
ServletFileUpload sfu = new ServletFileUpload(dFactory);sfu.setFileSizeMax(10*1024*1024);
参考:
https://stackoverflow.com/questions/29113262/could-not-upload-large-file-to-server-by-using-spring-mvc
https://blog.csdn.net/indexman/article/details/78918445