2011-07-12 91 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浏览器。