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()
}
}
使用SpingBoot框架上传文件时,如果文件大小超过了1MB,会报错:
原因是SpringBoot内置的Tomcat的文件传输默认单个文件最大1M,单次请求文件总数大小为10M。
解决方法:
可以在SpingBoot的application.yml配置文件中进行修改
SpingBoot2.0版本之前:
SpingBoot2.0版本之后:
一个新的奇葩问题:前端报跨域出错,原因却在后台上传的文件超过了Tomcat限制。
前端报错
后端日志
所以啊,这根本不是跨域的问题, Tomcat默认上传的文件大小就是1MB ,你上传的文件超过而已。
你可以在前端配置一下文件大小限制,
例如
或者在后端设置上传文件大小限制
以SpringBoot为例
在application.yml中添加配置
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)