今天再写文件上传的时候发现捕获不到异常特此记录一下,
当我上传的文件超出我自己定义的大小之后 就会抛出异常 然而他并没有捕获并返回给前端 最后网上找了很多但是没有什么用 最后经过自己反复的测试找到了问题
原因:
最后打断点发现代码根本就没有执行 更不要说返回什么异常信息给页面了,springboot默认上传文件大小是1MB 如果超过之后就会报:
org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.
如果你没有配置:
//单个上传不能超过50MB
spring.servlet.multipart.max-file-size=50Mb
//多个上传不能超过100MB
spring.servlet.multipart.max-request-size=100Mb
那么上传文件他会先去执行默认的 如果超过默认的限制就会直接抛出异常 报500的错 代码不会执行
解决办法:
1.默认大小不做限制 直接交给自定义的做限制
2.把自己配置的大小调大一些然后交给自定义的做处理
//单个上传不能超过50MB
spring.servlet.multipart.max-file-size=500Mb
//多个上传不能超过100MB
spring.servlet.multipart.max-request-size=1000Mb