2011-07-12 128 views
0

我已在struts.xml中以下內容上傳的文件大小限制爲10MB:Struts maxfilesize拋出400錯誤。如何使它拋出200錯誤?

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

這個工程就像一個魅力,因爲它會拋出時,上傳的文件超過10MB一個400錯誤的請求。

我的問題是,我使用JQuery表單插件來提交文件上傳表單。這可以通過在iFrame中提交表單來模擬ajax提交。這適用於除IE7/IE8以外的所有瀏覽器。在這裏,IE無法檢測到錯誤,因此對於所有其他錯誤,我已解決拋出200 OK並處理客戶端成功回調中的錯誤。不是一個漂亮的解決方案REST副,但它的工作原理。

問題是:我怎樣才能讓struts爲這種情況返回200代碼?

回答

0

您可以插入一個過濾器,該過濾器包含獲取給commons filuepload servlet的響應。在HttpServletResponse.setStatus/sendError等方法替換嘗試設置爲200設置400.你可以,如果你只想做這個自定義的東西,如果用戶代理報告瀏覽器是IE瀏覽器。