struts2上传文件大小限制
Ⅰ struts2在上传时控制文件大小时错误
org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException:(2164310)exceedstheconfiguredmaximum(2097152)
日志显示上传文件大于配置文件许可的大小,所有抛出了异常。
Struts2框架底层默认用的是apache的commons-fileupload组件对上传文件进行处理。
struts.multipart.maxSize设置的大小就是该处理时取用的值,在上传文件之前系统会去比较文件的大小是否超过了该值,如果超过将抛出上述异常,并且commons-fileupload组件是不支持国际化的,所以我们看到的异常都是默认的。
你可以查看上传组件的源码,他的异常是Action级别的。
所以如果你还想用这种方法进行异常处理的话,可以这么做:
在action中直接重写ActionSupport的addActionError()方法
判断字符串是不是这样的字符串。
示例代码:
java">@Override
public void addActionError(String anErrorMessage) {
//判断是否是文件上传超过限制大小异常
if (anErrorMessage.startsWith("the request was rejected because its size")) {
super.addActionError("你上传的文件大小超过允许的大小!");
} else {
//如果不是文件上传大小异常则按原来的方法处理
super.addActionError(anErrorMessage);
}
}
页面加上个<s:fielderror/>
ok了。
需要注意的是,原来页面上的其他输入信息都会消失不见。
因为此异常是在上传前捕获的。
Ⅱ 求助: struts 2 如何上传大文件1G左右的
你在页面上使用一个上传组件吧,swfupload,这样传好一些,还不要忘记在struts.xml配置文档中加上一条配置:
<constant name="struts.multipart.maxSize" value="1209715200"></constant>这样就可以传1.2G左右大小的文件了,可以自己改
Ⅲ struts 2 文件上传,出现the request was rejected because its size 。。。。
我是用页面提示出错的。
不知道你用没用Spring。。。我是用Spring监听的
在servlet配置文件里添加
<!-- error -->
<bean class="org.springframework.web.servlet.handler.">
<property name="exceptionMappings">
<props>
<prop key="org.springframework.web.multipart.">/common/fileUploadError</prop>
</props>
</property>
</bean>
然后在相应的路径下建立一个fileUploadError.jsp文件,提示文件过大之类的....
虽然没有尝试过,不过如果你想以alert形式表示,那么就用ajax发送请求,在callback函数判断返回页面的信息,然后alert也应该可以实现...