struts配置文件java
<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">5000000</param> <param name="allowedTypes">application/vnd.ms-powerpoint</param> </interceptor-ref> <interceptor-ref name="defaultStack" /> </action>
struts2文件上傳默認的大小是2M,若是須要強制吧大小改成超過2M就會報錯app
若是須要上傳5M的文件,在struts.xml配置文件中就須要加入這樣一句:jsp
<constant name="struts.multipart.maxSize" value="9000000"/>
發現struts.multipart.maxSize和fileUpload攔截器的maximumSize屬性分工不一樣,總結以下:spa
1.struts.multipart.maxSize掌控整個項目所上傳文件的最大的Size。超過了這個size,後臺報錯,程序處理不了如此大的文件。fielderror裏面會有以下的提示:
the request was rejected because its size (16272982) exceeds the configured maximum (9000000)code
2.fileUpload攔截器的maximumSize屬性必須小於struts.multipart.maxSize的值。
struts.multipart.maxSize默認2M,當maximumSize大於2M時,必須設置struts.multipart.maxSize的值大於maximumSize。orm
3.當上傳的文件大於struts.multipart.maxSize時,系統報錯
當上傳的文件在struts.multipart.maxSize和maximumSize之間時,系統提示:
File too large: file "MSF的概念.ppt" "upload__5133e516_129ce85285f__7ffa_00000005.tmp" 6007104
當上傳的文件小於maximumSize,上傳成功。xml