首页 > 代码库 > struts2文件上传突破2M限制

struts2文件上传突破2M限制

strutsuploadfileactionclass
struts配置文件
[html] view plaincopyprint?
    1. <action name="FileUpload" class="cn.timefly.strutsTest.FileUploadAction">  
    2.     <result name="success">/FileUploadResult.jsp</result>  
    3.     <result name="input">/FileUpload.jsp</result>  
    4.     <interceptor-ref name="fileUpload">  
    5.         <param name="maximumSize">5000000</param>  
    6.         <param name="allowedTypes">application/vnd.ms-powerpoint</param>  
    7.     </interceptor-ref>  
    8.     <interceptor-ref name="defaultStack" />  
    9. </action>  
 
struts2文件上传默认的大小是2M,如果需要强制吧大小改为超过2M就会报错
如果需要上传5M的文件,在struts.xml配置文件中就需要加入这样一句:
[html] view plaincopyprint?
    1. <constant name="struts.multipart.maxSize" value="http://www.mamicode.com/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 (90000002.fileUpload拦截器的maximumSize属性(单个文件的最大值)必须小于struts.multipart.maxSize的值。
struts.multipart.maxSize默认2M,当maximumSize大于2M时,必须设置struts.multipart.maxSize的值大于maximumSize。

3.当上传的文件大于struts.multipart.maxSize时,系统报错
   当上传的文件在struts.multipart.maxSize和maximumSize之间时,系统提示:
   File too large: file "MSF的概念.ppt" "upload__5133e516_129ce85285f__7ffa_00000005.tmp" 6007104
   当上传的文件小于maximumSize,上传成功。

来自 <http://blog.csdn.net/android_robot/article/details/6822604> 

 

struts2文件上传突破2M限制