HandlerExceptionResolver, MaxUploadSizeExceededException - загрузка продолжается, и ошибка не возвращается немедленно
Я использую Spring 3.1.1. У меня есть функция загрузки файла и я реализовал HandlerExceptionResolver для обработки ограничения размера файла. Я настроил размер весной mvc xml с атрибутом "maxUploadSize". Мое приложение использует Spring Security с открытым идентификатором.
Я использую код ниже в resolException() этого контроллера загрузки. 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;
Из журналов видно, что вызывается resolException(), однако ответ json не отображается в остальных клиентских / браузерных API. Я вижу исключение в журнале (превышен максимальный размер загрузки 10485760 байт; вложенное исключение - org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: запрос был отклонен, поскольку его размер (30611515) превышает настроенный максимум (10485760)) сразу после загрузки, но загрузка все еще продолжается, и через некоторое время в браузере отображается сообщение об ошибке json (доступно выше).
Я проверил эту проблему в stackru и других порталах и не смог найти, почему она не отображается или ответ возвращается в пользовательский интерфейс.
1 ответ
Смотрите эту проблему и это так. Если все еще не ясно, обратитесь к этой ссылке
и искать maxFileSize и maxRequestSize. Добавьте те же настройки в вашем application.yml