1. 程式人生 > >struts2,檔案上傳大小限制

struts2,檔案上傳大小限制

原文地址:http://www.cnblogs.com/forlina/archive/2011/09/08/2171404.html


<constant name="struts.multipart.maxSize" value="55000000"/>


<action name="UploadFile" class="com.buptisc.srpms.action.UploadFileAction">
            <result name="UploadFileResult">/pages/ShowOtherFiles.jsp</result>
            <result name="JGBsuccess">/pages/JGBdetail.jsp</result>
            <interceptor-ref name="fileUpload">
                <param name="savePath">/data</param>  
                <param name="maximumSize">52428800</param> 
            </interceptor-ref>
            <interceptor-ref name="defaultStack"></interceptor-ref>
</action>



struts.xml檔案中的大小與實際檔案大小的關係:1048576(Bytes) = 1024*1024 = 1M實際檔案大小.

struts.multipart.maxSize掌控整個專案所上傳檔案的最大的Size
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.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,上傳成功。