Spring MVC - как обработать исключение превышения максимального размера загрузки
Весной вы можете объявить@ControllerAdvice, чтобы поймать уродливое исключение превышения максимального размера загрузки, например:

Решение
Зависит от типовmultipartResolver:
-
StandardServletMultipartResolver- уловMultipartException, см.this example. -
CommonsMultipartResolver- уловMaxUploadSizeExceededException- см.this example.
GlobalExceptionHandler.java
package com.example.exception;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.multipart.MaxUploadSizeExceededException;
import org.springframework.web.multipart.MultipartException;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
@ControllerAdvice
public class GlobalExceptionHandler {
//StandardServletMultipartResolver
@ExceptionHandler(MultipartException.class)
public String handleError1(MultipartException e, RedirectAttributes redirectAttributes) {
redirectAttributes.addFlashAttribute("message", e.getCause().getMessage());
return "redirect:/uploadStatus";
}
//CommonsMultipartResolver
@ExceptionHandler(MaxUploadSizeExceededException.class)
public String handleError2(MaxUploadSizeExceededException e, RedirectAttributes redirectAttributes) {
redirectAttributes.addFlashAttribute("message", e.getCause().getMessage());
return "redirect:/uploadStatus";
}
}
Tomcat Connection Reset
Если вы развернули систему на Tomcat и не смогли обнаружить исключение превышения размера файла, это может быть вызвано настройкой TomcatmaxSwallowSize. Прочтите это -Spring file
upload and connection reset issue