springboot web应用 文件上传大小限制三道坎

787 阅读1分钟

文件大小限制上传问题

使用springboot开发web工程,文件上传时,往往被服务器限制大小,不能上传成功,此时要注意三道坎。

三道限制关卡

1. NGINX 大小限制

注意配置位置,再server中的server_name下去配置。

client_max_body_size 10M;

image.png

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();
    }

}