一般控制台上会出现像这样 ***1048576 bytes.这大小限制 org.springframework.WEB.multipart.MaxUploadSizeExceededException: Maximum upload s
一般控制台上会出现像这样 ***1048576 bytes.这大小限制
org.springframework.WEB.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded; nested exception is java.lang.IllegalStateException: org.apache.Tomcat.util.Http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.at org.springframework.web.multipart.support.StandardMultiparthttpservletRequest.handleParseFailure(StandardMultipartHttpServletRequest.java:121)at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.parseRequest(StandardMultipartHttpServletRequest.java:114)
因为上传的file文件超过了spring默认配置的最大值1048576 bytes,上传文件我们通常情况下是使用MultipartFile接口类接收前端上传的文件,可见对于MultipartFile文件的默认限制也是1048576 bytes,即1M。
SpringBoot不同的版本,对应的设置参数不同:
Spring Boot 1.3.x and earlier
multipart.maxFileSize
multipart.maxRequestSize
Spring Boot 1.4.x and 1.5.x
spring.http.multipart.maxFileSize
spring.http.multipart.maxRequestSize
Spring Boot 2.x
spring.servlet.multipart.maxFileSize
spring.servlet.multipart.maxRequestSize
1、方法1(在配置文件.yml或者.properties中直接修改参数)
例如我使用的是SpringBoot 2.1.3的版本,然后直接再配置文件中设置参数大小:
#做限制的参数配置spring: servlet: multipart: enabled: true #默认支持文件上传 max-file-size: 50MB # 最大支持文件大小 max-request-size: 50MB # 最大支持请求大小,不可省略#不做限制的参数配置spring: servlet: multipart: enabled: true #默认支持文件上传 max-file-size: -1 #不做限制 max-request-size: -1 #不做限制
2、方法2(自定义config配置类)
将参数配置在远程配置文件中心,如果是配置项目中的配置文件中,那就跟方法1一样了,就没必要再单独写配置类了,将参数配置在远程配置中心,就是为了可以根据临时需求动态修改参数,而不用重启项目。
常见的远程配置文件中心服务有Nacos、Apollo(阿波罗)、SpringCloud等等,我使用的是Nacos配置中心服务:
自定义MultipartFileConfig配置类:
import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.web.servlet.MultipartConfigFactory;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.util.unit.DataSize;import javax.servlet.MultipartConfigElement;@Configurationpublic class MultipartFileConfig { @Value("${config.multifile.maxFileSize}") private Long maxFileSize; @Value("${config.multifile.maxRequestSize}") private Long maxRequestSize; @Bean public MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); factory.setMaxFileSize(DataSize.ofMegabytes(maxFileSize)); // 总上传数据大小 factory.setMaxRequestSize(DataSize.ofMegabytes(maxRequestSize)); return factory.createMultipartConfig(); }}
这就可以随意控制上传文件大小限制啦!
来源地址:https://blog.csdn.net/IT_kangbazi/article/details/129735268
--结束END--
本文标题: 关于上传文件大小受限问题
本文链接: https://www.lsjlt.com/news/421959.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-03
2024-04-03
2024-04-01
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0