ERROR - org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException:

org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException the request was rejected because its size (91463901) exceeds the configured maximum (2097152)[轉載] 2009-02-26 22:08:14| 分類: struts2 | 標籤: |字號大中小 訂閱 .

在上傳94M的視頻出現異常如下:

[@APPNAME@] ERROR [http-80-3] MultiPartRequest.parse(130) |

org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected

because its size (102147245) exceeds the configured maximum (50097152)

[@APPNAME@] ERROR [http-80-3] FileUploadInterceptor.intercept(227) | the request was rejected

because its size (102147245) exceeds the configured maximum (50097152)



解析:這個最大值是在struts2的源文件“struts2-core-2.0.11.1.jar\org\apache\struts\

default.properties”中的struts.multipart.maxSize=2097152語句,如果想改大的話,就重新設定它,有兩種

方法:

一種是重寫:struts.properties文件。

二是在struts.xml中加入常量來改變它如“ Java代碼
<constant name="struts.multipart.maxSize" value="10000000" />

當然了,也有struts2的攔截器可以限制文件的類型、大小等,但是當上傳文件大小2M後,這個攔截器就不起作用

了,只用小於2M(默認大小)的時候才起作用。那是因爲:common-fileupload組件默認最大支持上傳文件的大小

爲2M,當我們上傳大於2M的文件時,就會出現上面所說的異常。是這個異常的發生導致了fileUpload攔截器沒有機

會執行,所以看到的是頁面沒有任何變化,也沒有任何提示信息,只是在控制檯打印出了上面的那些上傳文件過

大的異常。





我解決問題的過程:



剛開始只是在struts.xml文件最上部加入

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

但還是報同樣的錯誤。


接着查看struts.properties文件裏的配置爲:

### Load custom default resource bundles

struts.custom.i18n.resources=MessageResource

struts.multipart.maxSize=50097152



### character encoding

struts.i18n.encoding=GBK



修改爲

### Load custom default resource bundles

struts.custom.i18n.resources=MessageResource

struts.multipart.maxSize=1000000000



### character encoding

struts.i18n.encoding=GBK
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章