文件大小限制上传问题
使用springboot开发web工程,文件上传时,往往被服务器限制大小,不能上传成功,此时要注意三道坎。
三道限制关卡
1. NGINX 大小限制
注意配置位置,再server中的server_name下去配置。
client_max_body_size 10M;
2. springboot内置容器tomcat限制
这个配置貌似不需要,试了之后不起作用。
server.tomcat.max-http-form-post-size=50
3. springboot web 本身限制
spring.http.multipart.enabled=true
spring.http.multipart.max-file-size=50MB
spring.http.multipart.max-request-size=50MB
配置后,还需要在写一个配置类使之生效:
@Configuration
public class MultipartConfig {
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
// 允许上传的文件最大值, 单位支持:KB, MB
factory.setMaxFileSize(DataSize.parse("50MB"));
// 设置总上传数据总大小, 单位支持:KB, MB
factory.setMaxRequestSize(DataSize.parse("50MB"));
return factory.createMultipartConfig();
}
}