日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spring boot报FileSizeLimitExceededException异常的解决方法

發(fā)布時間:2025/3/12 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring boot报FileSizeLimitExceededException异常的解决方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

開發(fā)spring boot程序時,遇到了如下錯誤:
The field file exceeds its maximum permitted size of 1048576 bytes.

原因:
Spring Boot工程嵌入的tomcat限制了請求的文件大小,官方文檔中這樣描述:

Spring Boot embraces the Servlet 3 javax.servlet.http.Part API to support uploading files. By default Spring Boot configures Spring MVC with a maximum file of 1Mb per file and a maximum of 10Mb of file data in a single request.

翻譯一下:每個文件的最大為1Mb,單次請求的文件的總數(shù)不能大于10Mb。

解決方法:

spring boot 2.0 之后,在配置文件application.yaml或 application.properties中增加如下配置:

spring.servlet.multipart.max-file-size=100MB spring.servlet.multipart.max-request-size=1000MB

如果想不讓文件大小受限,將spring.servlet.multipart.max-file-size這個參數(shù)設(shè)置成-1。



SpringBoot 之設(shè)置文件上傳大小限制

問題:
SpringBoot默認上傳文件大小不能超過1MB,超過之后會報以下異常:
org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.

解決方法:
第一種解決方案:
增加Bean配置,注意當(dāng)前類上需要加注解@Configuration,不然掃不到就不會起作用了;一般配置放在啟動類中就可以。

/** * 文件上傳配置 * @return */ @Bean public MultipartConfigElement multipartConfigElement() {MultipartConfigFactory factory = new MultipartConfigFactory(); //文件最大factory.setMaxFileSize("10240KB"); //KB,MB/// 設(shè)置總上傳數(shù)據(jù)總大小factory.setMaxRequestSize("102400KB"); return factory.createMultipartConfig(); }

第二種解決方案:
在配置文件(application.properties/application.yml)中加入如下設(shè)置即可:

# 單個文件大小(Mb和Kb都可以) spring.servlet.multipart.maxFileSize=30MB # 總上傳的數(shù)據(jù)大小 spring.servlet.multipart.maxRequestSize=30MB

SpringBoot 2.X版本

application.properties
# 單個文件的最大值spring.servlet.multipart.max-file-size = 1Mb # 上傳文件總的最大值spring.servlet.multipart.max-request-size = 10Mb
application.yml
spring:servlet:multipart:enabled: truemax-file-size: 1MB # 單個文件的最大值max-request-size: 10MB # 上傳文件總的最大值

SpringBoot 1.5.X版本

Application啟動類上添加 @Bean
/*** 文件上傳配置* @return*/@Beanpublic MultipartConfigElement multipartConfigElement() {MultipartConfigFactory factory = new MultipartConfigFactory();//設(shè)置單個文件的最大值factory.setMaxFileSize("1MB"); //KB,MB/// 設(shè)置上傳文件總的最大值factory.setMaxRequestSize("10MB");//KB,MBreturn factory.createMultipartConfig();}

注:不知道為什么 SpringBoot1.5.x 版本的在配置文件上配置不生效,反正我是測試了不行,不知道是不是我自己的問題,望知道的大牛告知下。

總結(jié)

以上是生活随笔為你收集整理的spring boot报FileSizeLimitExceededException异常的解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。