在網(wǎng)上無意間看到的一個關(guān)于文件上傳需要注意的地方,現(xiàn)轉(zhuǎn)載如下
使用Struts2的文件上傳控件時,在struts.xml中,將處理上傳的action中的fileUpload攔截器的maximumSize參數(shù)設(shè)置為5000000,上傳了一個3M的文件后發(fā)現(xiàn)控制臺報錯,而且提示說文件超過2M。Struts.xml相關(guān)配置如下: <action name="FileUpload" class="cn.timefly.strutsTest.FileUploadAction"> <interceptor-ref name="defaultStack" /> 在struts.xml中加入 <constant name="struts.multipart.maxSize" value="9000000"/> 發(fā)現(xiàn)一切正常了,不報錯了。功能也正常了。 發(fā)現(xiàn)struts.multipart.maxSize和fileUpload攔截器的maximumSize屬性分工不同,總結(jié)如下: 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時,必須設(shè)置struts.multipart.maxSize的值大于maximumSize。 3.當上傳的文件大于struts.multipart.maxSize時,系統(tǒng)報錯 當上傳的文件在struts.multipart.maxSize和maximumSize之間時,系統(tǒng)提示: File too large: file "MSF的概念.ppt" "upload__5133e516_129ce85285f__7ffa_00000005.tmp" 6007104 當上傳的文件小于maximumSize,上傳成功。 |
|
來自: soft_xiang > 《Java》