Spring Boot 上传文件大小配置--基于2.0.3.RELEASE版本

简单背景

在Spring Boot的项目中进行文件上传接口开发测试时,报错提示上传文件超出1048576 byte。1M的上限不满足系统要求,需要修改。

版本信息

  • Spring Boot version 2.0.3.RELEASE
  • Java version 8

配置测试

配置文件版本一

spring.http.multipart.maxFileSize=10Mb  
spring.http.multipart.maxRequestSize=10Mb

实测无效,改成10MB也没用

配置文件版本二

multipart.maxFileSize=10Mb
multipart.maxRequestSize=10Mb

说是老版本的配置方式,果然实测无效

@Configuration JavaBean

import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.servlet.MultipartConfigElement;
@Configuration
public class UploadFileConfiguration {
    @Bean
    public MultipartConfigElement multipartConfigElement(){
        MultipartConfigFactory factory=new MultipartConfigFactory();
        factory.setMaxFileSize("10MB");
        factory.setMaxRequestSize("10MB");
        return factory.createMultipartConfig();
    }
}

实测有效,但是为了两个属性添加一个配置类,而且上传业务不多,不能接受。

配置文件版本三
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB

一个巧合点开了一个文件
spring-boot-autoconfigure-2.0.3.RELEASE.jar中的spring-configuration-metadata.json
搜到了如下信息

    {
      "defaultValue": "1MB",
      "deprecated": true,
      "name": "spring.http.multipart.max-file-size",
      "description": "Max file size. Values can use the suffixes \"MB\" or \"KB\" to indicate megabytes or\n kilobytes respectively.",
      "type": "java.lang.String",
      "deprecation": {
        "level": "error",
        "replacement": "spring.servlet.multipart.max-file-size"
      }
    },
    {
      "defaultValue": "10MB",
      "deprecated": true,
      "name": "spring.http.multipart.max-request-size",
      "description": "Max request size. Values can use the suffixes \"MB\" or \"KB\" to indicate megabytes or\n kilobytes respectively.",
      "type": "java.lang.String",
      "deprecation": {
        "level": "error",
        "replacement": "spring.servlet.multipart.max-request-size"
      }
    },

问题解决。

总结

找到了一个比较重要的配置信息文件,以后在进行相关配置有了方向。网络上好多资料、经验在逐渐过时,但是更新有些延后。各位技术人扶持前行吧。

你可能感兴趣的:(java,spring,boot)