SpringBoot上传文件大小设置
在做项目的时候,遇到这样的问题
org.springframework.web.multipart.MultipartException
是上传文件大小大于默认大小了,springboot默认单次上传的文件不超过1M,如果要上传更大的文件樱芹铅需要在 application.yml 文件中更改设置。
max-file-size 是单个文件大小
max-request-size 是设置总上传的数据大小
根据自己首汪需求定义吧,Mb和Kb都可以,大小写也脊好都随意
SpringBoot tomcat 上传文件大小受限制
applicaton.properties配置:
spring.servlet.multipart.max-file-size=200MB
spring.servlet.multipart.max-request-size=200MB
或迹备缺
application.yml配置:
# Spring配置
spring:
# 文件上传
servlet:
multipart:
# 单个文件大小
max-file-size: 20000MB
# 设置总上传的文件大小
max-request-size: 50000MB
并且添加如下配置文件滚迹
import javax.servlet.MultipartConfigElement;
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;
@Configuration
public class UploadConfig {
@Bean
public MultipartConfigElement multipartConfigElement() {
姿辩 MultipartConfigFactory factory = new MultipartConfigFactory();
//文件最大20000M
factory.setMaxFileSize(DataSize.ofMegabytes(20000));
// factory.setMaxFileSize(DataSize.parse("100MB"));
// 设置总上传数据总大小
factory.setMaxRequestSize(DataSize.parse("50000MB"));
return factory.createMultipartConfig();
}
}
SpringBoot上传文件大小限制的配置
使神态逗用SpingBoot框架上传文件时,如果文件大小超过了1MB,会报错:
原因是SpringBoot内置的Tomcat的文件传输默认单个文件最大1M,单次请求文件总闭皮数大小为游卖10M。
解决方法:
可以在SpingBoot的application.yml配置文件中进行修改
SpingBoot2.0版本之前:
SpingBoot2.0版本之后:
spring boot 配置最大上传文件大小 在Linux环境下不生效问题
Spring Boot 默认最大request size 为10MB(1048576 bytes)。
需要设置以下两个参数
Spring Boot 1.3.x或者之前
multipart.maxFileSize=100Mb
multipart.maxRequestSize=1000Mb
Spring Boot 1.4.x或信卖橘者之后
spring.http.multipart.maxFileSize=100Mb
spring.http.multipart.maxRequestSize=1000Mb
很多人设置了multipart.maxFileSize但是不起作用,是因为1.4版本以上的配置改了,详见官方文档: spring boot 1.4
如果是前滑团端发布配颂到nginx下的还需要配置config/nginx.config
因为nginx默认最大上传大小为1M,所以要在service-name后面加上 client_max_body_size = 10M;
参考: