喵♂呜 的博客

一个刚毕业就当爹的程序猿 正在迷雾中寻找道路...

SpringBoot文件上传配置

使用 SpringBoot 内置的Tomcat服务器启动的时候 会发现 上传文件有 2M 大小限制 需要配置解除限制

  • 配置 SpringBoot 自带的配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    @Bean
    public MultipartConfigElement multipartConfigElement() {
    MultipartConfigFactory factory = new MultipartConfigFactory();
    //// 设置文件大小限制 ,超了,页面会抛出异常信息,这时候就需要进行异常信息的处理了;
    factory.setMaxFileSize("5MB"); //KB,MB
    /// 设置总上传数据总大小
    factory.setMaxRequestSize("30MB");
    return factory.createMultipartConfig();
    }
  • 配置 Tomcat 内置的请求限制 (这里的大小必须大于或等于 SpringBoot 的上传限制)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    private int maxUploadSizeInMb = 30 * 1024 * 1024; // 30 MB
    @Bean
    public TomcatEmbeddedServletContainerFactory containerFactory() {
    return new TomcatEmbeddedServletContainerFactory() {
    @Override
    protected void customizeConnector(Connector connector) {
    super.customizeConnector(connector);
    if (connector.getProtocolHandler() instanceof AbstractHttp11Protocol) {
    // if maxUploadSizeInMb = -1, accept unlimited bytes
    ((AbstractHttp11Protocol) connector.getProtocolHandler()).setMaxSwallowSize(maxUploadSizeInMb);
    }
    }
    };
    }

近期 更新了 SpringBoot2.x 附上配置方法

  • 直接在配置文件里新增配置
1
2
3
4
5
spring:
servlet:
multipart:
max-file-size: 10MB
max-request-size: 10MB

欢迎关注我的其它发布渠道