我用commons-fileupload设置上传文件大小时遇到一个问题。upload.setFil

我用commons-fileupload设置上传文件大小时遇到一个问题。upload.setFileSizeMax(1024*1024);设置了1mb的大小,如果我上传1.4mb的文件的时候正常跳转到全局消息显示页面,提示文件过大,而如果我上传稍大一点的文件,比如2mb的文件时,页面就无法正常跳转了。这是为什么?

fileupload有两个设置:

    upload.setFileSizeMax(1024*1024*100);   // è®¾ç½®ä¸Šä¼ çš„单个文件的最大字节数为100M 

    upload.setSizeMax(1024*1024*1024);   //设置整个表单的最大字节数为1G 

setFileSizeMax意思是单个文件的大小,setSizeMax表示表单的总大写,建议写大一点就不会报错了。

追问

我本意是想文件过大然后跳转到message.jsp页面提示 为什么过大就跳转不了

追答

过大直接抛异常了,然后web.xml中,或者struts里配置了异常转跳的拦截器,拦截到了异常,所以转跳了。

追问

但是我写代码 æ–‡ä»¶æ¯”我设置的大一点是可以正常跳转的 ä½†æ˜¯å¦‚果大很多就不能正常跳转了  æˆ‘就是想问为什么会出来这种问题

追答

建议查看异常日志分别处理, FileUpload的demo已经上传

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-05-29
如果你使用的是tomcat服务器,这是tomcat的一个bug:
https://bz.apache.org/bugzilla/show_bug.cgi?id=57438
解决办法就是:使用低版本的tomcat
亲测7.0.39没有问题【Chrome、Filefox、IE10】
下载地址:
http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.39/bin/
源码:
http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.39/src/