SpringBoot上传文件大小限制
SpringBoot默认上传文件大小不能超过1MB,超过之后会报以下异常:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes. at org.apache.tomcat.util.http.fileupload.FileUploadBase$FileItemIteratorImpl$FileItemStreamImpl$ 1 .raiseError(FileUploadBase.java: 628 ) ~[tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.tomcat.util.http.fileupload.util.LimitedInputStream.checkLimit(LimitedInputStream.java: 76 ) ~[tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.tomcat.util.http.fileupload.util.LimitedInputStream.read(LimitedInputStream.java: 135 ) ~[tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at java.io.FilterInputStream.read(Unknown Source) ~[na: 1.8 .0_131] at org.apache.tomcat.util.http.fileupload.util.Streams.copy(Streams.java: 98 ) ~[tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.tomcat.util.http.fileupload.util.Streams.copy(Streams.java: 68 ) ~[tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.tomcat.util.http.fileupload.FileUploadBase.parseRequest(FileUploadBase.java: 293 ) ~[tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.catalina.connector.Request.parseParts(Request.java: 2902 ) ~[tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.catalina.connector.Request.parseParameters(Request.java: 3242 ) ~[tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.catalina.connector.Request.getParameter(Request.java: 1136 ) ~[tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java: 381 ) ~[tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java: 84 ) ~[spring-web- 4.3 . 19 .RELEASE.jar: 4.3 . 19 .RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java: 107 ) ~[spring-web- 4.3 . 19 .RELEASE.jar: 4.3 . 19 .RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 193 ) ~[tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 166 ) ~[tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java: 197 ) ~[spring-web- 4.3 . 19 .RELEASE.jar: 4.3 . 19 .RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java: 107 ) ~[spring-web- 4.3 . 19 .RELEASE.jar: 4.3 . 19 .RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 193 ) ~[tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 166 ) ~[tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 198 ) ~[tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 96 ) [tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java: 493 ) [tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 140 ) [tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 81 ) [tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 87 ) [tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 342 ) [tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java: 800 ) [tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java: 66 ) [tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java: 806 ) [tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java: 1498 ) [tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java: 49 ) [tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na: 1.8 .0_131] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na: 1.8 .0_131] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java: 61 ) [tomcat-embed-core- 8.5 . 34 .jar: 8.5 . 34 ] at java.lang.Thread.run(Unknown Source) [na: 1.8 .0_131] |
解决办法(亲测可用):
请在配置文件(application.properties/application.yml)中加入如下设置即可
1 2 | spring.http.multipart.max-file-size=10MB spring.http.multipart.max-request-size=10MB |
其中10MB代表最大可以上传的大小为10MB,也可以设置KB
分类:
Spring Boot
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)