開発者ドキュメント

春のMVC – 最大アップロードサイズを処理する方法が例外を超えました

Springでは、次のように例外を超過した醜い最大アップロードサイズを捕まえるために `@ControllerAdvice`を宣言できます:



解決策

`multipartResolver`の型によって異なります:


  1. StandardServletMultipartResolver

    – ` MultipartException`をキャッチ、参照します

リンクする://spring-mvc/spring-mvc-file-upload-example/[この例]。


  1. 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";

    }

}

参考文献

マルチパート(ファイルアップロード)のサポート]


例外

リンク://タグ/ファイルアップロード/[ファイルアップロード]

spring mvc

モバイルバージョンを終了