|
原來struts2的攔截器可以限制文件的類型、大小等,但是當(dāng)上傳文件大小2M后,這個(gè)攔截器就不起作用了,只用小于2M(默認(rèn)大?。┑臅r(shí)候才起作用。那是因?yàn)椋篶ommon-fileupload組件默認(rèn)最大支持上傳文件的大小為2M,當(dāng)我們上傳大于2M的文件時(shí),控制臺(tái)就會(huì)輸出文件過大異常,但是不會(huì)顯示出資源文件里給出的提示信息,是因?yàn)檫@個(gè)異常的發(fā)生導(dǎo)致了fileUpload攔截器沒有機(jī)會(huì)執(zhí)行,所以看到的是頁面沒有任何變化,也沒有任何提示信息,只是在控制臺(tái)打印出了上面的那些上傳文件過大的異常。
原來xtruts.xml攔截器:
<interceptor-ref name="fileUpload">
<!-- 配置允許上傳的文件大小,struts2默認(rèn)最大為2M,即2097152--> <param name="maximumSize">2097152</param> <!-- 配置允許上傳的文件類型 --> <param name="allowedTypes"> application/vnd.ms-powerpoint,application/vnd.ms-excel,application/zip,application/msword,image/bmp, image/png,image/gif,image/jpeg,image/jpg,text/plain </param> </interceptor-ref> <!-- 注意,一定要配置系統(tǒng)默認(rèn)的攔截器 --> <interceptor-ref name="defaultStack" /> 解決辦法:
在頂端再加上: <constant name="struts.multipart.maxSize" value="1000000000" />
還在添加struts.properties文件 內(nèi)容:struts.multipart.maxSize=1000000000
這樣問題就解決了?。?!
|
|
|