struts2文件上传 判断大小

问题描述:struts.xml中设置上次文件最大值

<action name="FileUpload" class="cn.timefly.strutsTest.FileUploadAction">
    <result name="success">/FileUploadResult.jsp</result>
    <result name="input">/FileUpload.jsp</result>
    <interceptor-ref name="fileUpload">
      <param name="maximumSize">500000</param>   //这里配置没有起作用
      <param name="allowedTypes">application/vnd.ms-powerpoint</param>    
    </interceptor-ref>
<interceptor-ref name="defaultStack" />
    </action>

问题解决方法:在struts.xml中加入 <constant name="struts.multipart.maxSize" value="9000000"/>

原因:

发现struts.multipart.maxSize和fileUpload拦截器的maximumSize属性分工不同,总结如下:
1.struts.multipart.maxSize掌控整个项目所上传文件的最大的Size。超过了这个size,后台报错,程序处理不了如此大的文件。fielderror里面会有如下的提示:
the request was rejected because its size (16272982) exceeds the configured maximum (9000000)
2.fileUpload拦截器的maximumSize属性必须小于struts.multipart.maxSize的值。
struts.multi

你可能感兴趣的:(struts2)