春のMVC – 最大アップロードサイズを処理する方法が例外を超えました
Springでは、次のように例外を超過した醜い最大アップロードサイズを捕まえるために `@ControllerAdvice`を宣言できます:
解決策
`multipartResolver`の型によって異なります:
-
StandardServletMultipartResolver
– ` MultipartException`をキャッチ、参照します
リンクする://spring-mvc/spring-mvc-file-upload-example/[この例]。
-
CommonsMultipartResolver
– ` MaxUploadSizeExceededException`をキャッチ –
リンク://spring/spring-mvc-file-upload-example-commons-fileupload/[こちらの例]を参照してください。
GlobalExceptionHandler.java
package com.mkyong.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"; } }