SpringBoot 上传文件异常

上传文件 The field file exceeds its maximum permitted size of 1048576 bytes.

Posted by Perrone on October 17, 2017

问题描述

上传文件 The field file exceeds its maximum permitted size of 1048576 bytes.

问题原因

SpringBoot内置的Tomcat设置了上传文件的大小限制

  • 查看源码 SpringBoot 1.5.3.RELEASE 在 org.springframework.boot.autoconfigure.web.MultipartProperties 中有如下定义

/**
 * Max file size. Values can use the suffixed "MB" or "KB" to indicate a Megabyte or
 * Kilobyte size.
 */
private String maxFileSize = "1MB";

/**
 * Max request size. Values can use the suffixed "MB" or "KB" to indicate a Megabyte
 * or Kilobyte size.
 */
private String maxRequestSize = "10MB";

解决方法

在application.yaml(或者applicaion.properties)中增加如下配置:

spring:
  http:
    multipart:
      max-file-size: 50MB
      max-request-size: 50MB

如果使用了nginx做反向代理,记得在http中配置:

client_max_body_size 50m;
或者
client_max_body_size 0;

参考