Struts2.0文件上傳-文件尺寸問(wèn)題
Posted on 2007-10-31 17:18 puras 閱讀(5173) 評(píng)論(3) 編輯 收藏 所屬分類: Struts2.0近日在工作中一直使用Struts2.0,對(duì)它的了解也是逐漸的增多哦,嗯嗯,好事一件.不過(guò),在使用中也遇到了一些問(wèn)題,一般的基本都搞定了,只有一個(gè),到現(xiàn)在也沒(méi)弄明白,實(shí)在不行,就得查看源代碼了......
問(wèn)題是這樣的:
上傳文件,需要限制上傳文件的大小,這個(gè)可以在配置Action的interceptor來(lái)解決,只需設(shè)置一下maximumSize的值就可以了,我這里設(shè)置的是1048576(1M).
如果我現(xiàn)在上傳一個(gè)大小為1.5M的文件,會(huì)報(bào)文件尺寸過(guò)大的錯(cuò)誤,這個(gè)錯(cuò)誤的顯示信息可以通過(guò)在全局的國(guó)際資源文件中配置:struts.messages.error.file.too.large.這時(shí)沒(méi)有什么問(wèn)題.
但只時(shí)我上傳一個(gè)大小為5M的文件,就會(huì)報(bào)一個(gè)
這里是因?yàn)镾truts2.0默認(rèn)的上傳文件的大小是2M.如果上傳超過(guò)這個(gè)大小的就會(huì)報(bào)錯(cuò).可以通過(guò)在struts.xml中修改默認(rèn)的上傳文件大小:<constant name="struts.multipart.maxSize" value="5242880" />,我在這里設(shè)置成了5M,允許上傳5M的文件.
如果用戶上傳的文件,超過(guò)了在Action中Iterceptor中的大小,而小于Struts.xml文件中設(shè)置的大小,一切正常;一旦上傳的文件超過(guò)了Struts.xml文件中設(shè)置的大小,問(wèn)題就出現(xiàn)了,雖然也能正常的返回上傳頁(yè),但數(shù)據(jù)丟失......這個(gè)受不了啊
哪位高人也遇到過(guò)這種問(wèn)題,并且解決了,不妨告訴小弟一下,^_^,小弟這里先謝謝了....
PS:暫時(shí)將Struts.xml中設(shè)置了1G,如果用戶要上傳再大的文件,那也沒(méi)辦法了,抓緊時(shí)間搞定它....唉.