Spring Boot 在接收上传文件时,文件过大异常处理问题
Spring Boot 在接收上传文件时,文件过大时,或者请求过大,spring内部处理都会抛出异常,并且捕获不到。
虽然可以通过调节配置,增大 请求的限制值。
但是还是不太方便。
之所以捕获不到异常,是因为,异常还没有Controller,就异常抛出了。
是在Spring从Request中读取文件数据时,进行校验,抛出的。
解决方法:
配置
spring.http.multipart.resolve-lazily=true
这是个文件上传相关的配置,是让spring 对于文件进行懒加载。
让Spring不要提前处理文件数据,等到使用时,才执行initializeMultipart方法,在读取文件数据。
Controller方法中,入参也不能直接接收MultipartFile。
需要接收Request,然后手动从Request中取出文件数据。
StandardMultipartHttpServletRequest request