我的问题不是怎么设置文件大小,而是超过设置的最大值后,异常怎么捕获,因为在进controller
之前都已经抛出异常了。
有战友解决过吗
在启动类App.class文件中配置Bean来设置文件大小
文件大小的校验是在controller之前的,可以通过继承CommonsMultipartResolver类,覆盖parseRequest方法,捕获异常后自己处理
异常捕获类
@RestControllerAdvice
public class MyExceptionHandler {
/* spring默认上传大小1MB 超出大小捕获异常MaxUploadSizeExceededException */
@ExceptionHandler(MaxUploadSizeExceededException.class)
public Map handleMaxUploadSizeExceededException(MaxUploadSizeExceededException e) {
return Map.of("code", 500, "msg", "文件大小超出1MB限制, 请压缩或降低文件质量! ");
}
}
配置文件 修改上传文件大小限制
spring.servlet.multipart.max-file-size=2MB
此问题已找到方案,需要设置 tomcat 的大小限制,参考:https://weiku.co/article/198/