博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Spring Boot上传文件时报The field headpic exceeds its maximum permitted size of 1048576 bytes错误
阅读量:3639 次
发布时间:2019-05-21

本文共 4050 字,大约阅读时间需要 13 分钟。

现象:使用Spring Boot开发上传文件项目时,抛出文件大小限制异常The field headpic exceeds its maximum permitted size of 1048576 bytes。异常信息如下:

org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field headpic exceeds its maximum permitted size of 1048576 bytes.	at org.apache.tomcat.util.http.fileupload.FileUploadBase$FileItemIteratorImpl$FileItemStreamImpl$1.raiseError(FileUploadBase.java:633) ~[tomcat-embed-core-9.0.16.jar:9.0.16]	at org.apache.tomcat.util.http.fileupload.util.LimitedInputStream.checkLimit(LimitedInputStream.java:76) ~[tomcat-embed-core-9.0.16.jar:9.0.16]	at org.apache.tomcat.util.http.fileupload.util.LimitedInputStream.read(LimitedInputStream.java:135) ~[tomcat-embed-core-9.0.16.jar:9.0.16]	at java.io.FilterInputStream.read(FilterInputStream.java:107) ~[na:1.8.0_172]	at org.apache.tomcat.util.http.fileupload.util.Streams.copy(Streams.java:98) ~[tomcat-embed-core-9.0.16.jar:9.0.16]	at org.apache.tomcat.util.http.fileupload.util.Streams.copy(Streams.java:68) ~[tomcat-embed-core-9.0.16.jar:9.0.16]	at org.apache.tomcat.util.http.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:293) ~[tomcat-embed-core-9.0.16.jar:9.0.16]	at org.apache.catalina.connector.Request.parseParts(Request.java:2846) ~[tomcat-embed-core-9.0.16.jar:9.0.16]	at org.apache.catalina.connector.Request.parseParameters(Request.java:3185) ~[tomcat-embed-core-9.0.16.jar:9.0.16]	at org.apache.catalina.connector.Request.getParameter(Request.java:1116) ~[tomcat-embed-core-9.0.16.jar:9.0.16]	at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:381) ~[tomcat-embed-core-9.0.16.jar:9.0.16]	at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:84) ~[spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.16.jar:9.0.16]	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.16.jar:9.0.16]	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) ~[spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.16.jar:9.0.16]	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.16.jar:9.0.16]	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200) ~[tomcat-embed-core-9.0.16.jar:9.0.16]	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat-embed-core-9.0.16.jar:9.0.16]	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) [tomcat-embed-core-9.0.16.jar:9.0.16]	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) [tomcat-embed-core-9.0.16.jar:9.0.16]	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.16.jar:9.0.16]	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [tomcat-embed-core-9.0.16.jar:9.0.16]	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [tomcat-embed-core-9.0.16.jar:9.0.16]

原因:Spring Boot工程嵌入的tomcat限制了请求的文件大小,每个文件的配置最大为1Mb,单次请求的文件的总数不能大于10Mb,如果不限制文件上传的大小,那么就把两个值都设置为-1就行。见官方文档

在这里插入图片描述

解决方法:在配置文件application.properties中加入以下配置

# Spring Boot1.4版本后配置spring.http.multipart.maxFileSize = 5MB         # 设置单个文件的大小,spring.http.multipart.maxRequestSize=100MB      # 设置单次请求的文件的总大小# Spring Boot2.0之后的版本配置spring.servlet.multipart.max-file-size=10MBspring.servlet.multipart.max-request-size=100MB# 如果不限制文件上传的大小,那么就把两个值都设置为-1就行

转载地址:http://dyyyn.baihongyu.com/

你可能感兴趣的文章
Bootstrap 栅格基本模板使用
查看>>
SpringBoot 整合Druid数据源
查看>>
OpenLayers 入门使用
查看>>
SpringBoot 整合Mybatis
查看>>
SpringBoot 事务的使用
查看>>
Windows 常用网络cmd命令
查看>>
Java 方法(方法重载)与数组
查看>>
Java 类、对象和构造器
查看>>
Java 三大特征:封装、继承(方法覆盖,this,super)和多态
查看>>
Layui 栅格系统、常用表单和校验与监听
查看>>
Java 抽象方法、final与static、代码块和内部类
查看>>
Java 接口与枚举
查看>>
Java System与Runtime类常用方法
查看>>
Java 进程/线程与线程同步/死锁
查看>>
Java Math、BigDecimal和BigInteger类常用方法
查看>>
Java Random、ThreadLocalRandom和UUID随机数类
查看>>
Java 线程通信与线程的生命周期
查看>>
Base64加密和解密JDK8
查看>>
AOP + Redis实现防止表单重复提交(注解方式)
查看>>
java对象转JSONObject、JSONObject转java对象及String转JSONObject
查看>>