Struts maxfilesize抛出400错误。如何让它抛出200错误?

时间:2011-07-12 07:16:21

标签: java struts2

我在struts.xml中设置了以下内容,将上传文件的文件大小限制为10MB:

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

这就像魅力一样,因为当上传的文件超过10MB时,它会抛出400 BAD REQUEST。

我的问题是我使用JQuery Form插件来提交文件上传表单。这可以通过在iFrame中提交表单来模拟ajax提交。这适用于除IE7 / IE8之外的所有浏览器。在这里,IE无法检测到错误,因此对于所有其他错误,我已经解决了抛出200 OK并在客户端处理成功回调中的错误。不是一个漂亮的解决方案REST副,但它的工作原理。

问题是:如何让struts为这种情况返回200代码?

1 个答案:

答案 0 :(得分:0)

您可以插入一个过滤器,该过滤器包含给予commons filuepload servlet的响应。在HttpServletResponse.setStatus / sendError等方法中,替换尝试设置为使用200设置400.如果用户代理报告浏览器是IE,则可以执行此自定义操作。