Spring多部分文件上传大小

时间:2018-01-05 21:12:26

标签: java spring spring-mvc spring-boot multipart

我的应用程序具有以下属性集

spring.http.multipart.max-file-size = 10MB

spring.http.multipart.max-request-size  = 10MB

但不是在下面抛出Springs默认例外

{ "message": "Could not parse multipart servlet request; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (12780451) exceeds the configured maximum (10485760)", "type": "MultipartException" }

我想将CustomExceptionFILE_SIZE_TOO_BIG之类的消息一起投掷。这可能吗?
我可以使用@ControllerAdvice吗?

1 个答案:

答案 0 :(得分:1)

有许多方法可以处理Spring应用程序中的异常。请参阅exception handling in Spring MVC主题。我认为从提供的文章中获取的GlobalControllerExceptionHandler符合您的要求。试试这个处理程序:

@ControllerAdvice
class GlobalControllerExceptionHandler {
    @ResponseStatus(value = HttpStatus.PAYLOAD_TOO_LARGE)
    @ExceptionHandler(MultipartException.class)
    public void handleMultipart(MultipartException exception) {
        // to do
    }
}

如果您通过组件扫描获取此类,它应该处理从任何控制器抛出的MultipartExceptions