HandlerExceptionResolver,MaxUploadSizeExceededException - 继续上传并且不立即返回错误

时间:2016-04-04 15:25:47

标签: spring spring-security handlerexceptionresolver

我正在使用Spring 3.1.1。我有一个文件上传功能,并已实现HandlerExceptionResolver来处理文件大小限制。我已经使用“maxUploadSize”属性在spring mvc xml中配置了大小。我的应用程序使用具有开放id的spring security。

我在上传控制器的resolveException()中使用下面的代码。 RestResponse是一个带有错误消息和状态的pojo

ModelAndView mav = new ModelAndView();
mav.setView(new MappingJacksonJsonView());
RestResponse fail_response = new RestResponse();
fail_response.setMessage("Max upload limit failure.");
fail_response.setStatus("FAIL");
mav.addObject("restResponse", fail_response);
return mav;

我可以从日志中看到,调用了resolveException(),但是其余的api客户端/浏览器中没有显示json响应。我可以在日志中看到异常(超过最大上载大小10485760字节;嵌套异常是org.apache.commons.fileupload.FileUploadBase $ SizeLimitExceededException:请求被拒绝,因为它的大小(30611515)超过了配置的最大值(10485760))上传后立即上传,但上传仍然继续,一段时间后,浏览器中会显示json错误消息(上面提供)。

我确实在stackoverflow和其他门户中检查了这个问题,但是无法找到为什么它没有显示或者响应被返回到UI。

1 个答案:

答案 0 :(得分:0)

请参阅this issuethis SO。如果仍不清楚,请参阅this link

并搜索maxFileSize和maxRequestSize。在application.yml中添加相同的设置