在網(wǎng)上無(wú)意間看到的一個(gè)關(guān)于文件上傳需要注意的地方,現(xiàn)轉(zhuǎn)載如下
使用Struts2的文件上傳控件時(shí),,在struts.xml中,將處理上傳的action中的fileUpload攔截器的maximumSize參數(shù)設(shè)置為5000000,,上傳了一個(gè)3M的文件后發(fā)現(xiàn)控制臺(tái)報(bào)錯(cuò),而且提示說(shuō)文件超過(guò)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)一切正常了,,不報(bào)錯(cuò)了。功能也正常了,。 發(fā)現(xiàn)struts.multipart.maxSize和fileUpload攔截器的maximumSize屬性分工不同,,總結(jié)如下: 1.struts.multipart.maxSize掌控整個(gè)項(xiàng)目所上傳文件的最大的Size。超過(guò)了這個(gè)size,,后臺(tái)報(bào)錯(cuò),,程序處理不了如此大的文件。fielderror里面會(huì)有如下的提示: the request was rejected because its size (16272982) exceeds the configured maximum (9000000) 2.fileUpload攔截器的maximumSize屬性必須小于struts.multipart.maxSize的值,。 struts.multipart.maxSize默認(rèn)2M,,當(dāng)maximumSize大于2M時(shí),必須設(shè)置struts.multipart.maxSize的值大于maximumSize。 3.當(dāng)上傳的文件大于struts.multipart.maxSize時(shí),,系統(tǒng)報(bào)錯(cuò) 當(dāng)上傳的文件在struts.multipart.maxSize和maximumSize之間時(shí),,系統(tǒng)提示: File too large: file "MSF的概念.ppt" "upload__5133e516_129ce85285f__7ffa_00000005.tmp" 6007104 當(dāng)上傳的文件小于maximumSize,上傳成功,。 |
|
來(lái)自: soft_xiang > 《Java》