错误信息:The field file exceeds its maximum permitted size of 1048576 bytes
原因是因为SpringBoot内嵌tomcat默认所能上传的文件大小为1M,超出这个就会报错。
解决办法:
1.修改application.yml配置文件

spring:
http:
multipart:
enabled: true
max-file-size: 30MB
max-request-size: 30MB
2.编写配置类

package com.blog.springboot.config;
import javax.servlet.MultipartConfigElement;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MulterFile {
/**
* 文件上传配置
* @return
*/
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
//文件最大
factory.setMaxFileSize("30960KB"); //KB,MB
/// 设置总上传数据总大小
factory.setMaxRequestSize("309600KB");
return factory.createMultipartConfig();
}
}
至此springboot上传文件应该没问题了。
3.如果使用了Nginx,可能会报错
<html> <head><title>413 Request Entity Too Large</title></head> <body bgcolor="white"> <center><h1>413 Request Entity Too Large</h1></center> <hr><center>nginx</center> </body> </html> <!-- a padding to disable MSIE and Chrome friendly error page --> <!-- a padding to disable MSIE and Chrome friendly error page --> <!-- a padding to disable MSIE and Chrome friendly error page --> <!-- a padding to disable MSIE and Chrome friendly error page --> <!-- a padding to disable MSIE and Chrome friendly error page --> <!-- a padding to disable MSIE and Chrome friendly error page -->
现在需要修改Nginx上传文件大小限制。
产生原因:
上传文件的大小超出了 Nginx 允许的最大值,如果没有配置的话,默认是1M;
解决方法:
修改Nginx的配置文件(一般是:nginx/nginx.conf),在 http{} 段中增大nginx上传文件大小限制
#设置允许发布内容为8M
client_max_body_size 8M;
client_body_buffer_size 128k;
修改完成后,测试并重新加载配置文件
./nginx.exe -t
./nginx.exe -s reload
SpringBoot大文件上传配置

本文详细介绍了如何解决SpringBoot应用中大文件上传超过默认大小限制的问题,包括修改application.yml配置和编写自定义配置类的方法,并针对使用Nginx的情况提供了额外的配置调整建议。
1万+

被折叠的 条评论
为什么被折叠?



