struts2.0上傳檔案尺寸的解決

來源:互聯網
上載者:User
struts2.0上傳檔案尺寸的解決-struts2.0


問題是這樣的:

上傳檔案,需要限制上傳檔案的大小,這個可以在配置Action的interceptor來解決,只需設定一下maximumSize的值就可以了,我這裡設定的是1048576(1M).

如果我現在上傳一個大小為1.5M的檔案,會報檔案尺寸過大的錯誤,這個錯誤的顯示資訊可以通過在全域的國際資源檔中配置:struts.messages.error.file.too.large.這時沒有什麼問題.

但只時我上傳一個大小為5M的檔案,就會報一個

# the request was rejected because its size (xxxxxx) exceeds the
configured maximum
(xxxxxx)的錯誤.而且我上傳頁面中原有的參數全部丟失.比如我修改一條記錄時傳到上傳頁面的ID值.(這裡就是我沒搞明白的地方,資料為什麼會
丟)

這裡是因為Struts2.0預設的上傳檔案的大小是2M.如果上傳超過這個大小的就會報錯.可以通過在struts.xml中修改預設的上傳文
件大小:<constant name="struts.multipart.maxSize" value="5242880"
/>,我在這裡設定成了5M,允許上傳5M的檔案.

struts.multipart.maxSize=

5242880

如果使用者上傳的檔案,超過了在Action中Iterceptor中的大小,而小於Struts.xml檔案中設定的大小,一切正常;一旦上傳的
檔案超過了Struts.xml檔案中設定的大小,問題就出現了,雖然也能正常的返回上傳頁,但資料丟失......這個受不了啊

http://pepa.javaeye.com/blog/254901

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.