SpringBoot 2.x版本+MultipartFile设置指定文件上传大小
Posted Arebirth
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot 2.x版本+MultipartFile设置指定文件上传大小相关的知识,希望对你有一定的参考价值。
SpringBoot-versio:2.1.9-RELEASE
由于新版本的SpringBoot已经弃用了(1.5版本支持)如下,
这种方式,提供了新的 配置方案。
这个是官方的介绍
Handling Multipart File Uploads
Spring Boot embraces the Servlet 3
javax.servlet.http.Part
API to support uploading files. By default, Spring Boot configures Spring MVC with a maximum size of 1MB per file and a maximum of 10MB of file data in a single request. You may override these values, the location to which intermediate data is stored (for example, to the/tmp
directory), and the threshold past which data is flushed to disk by using the properties exposed in theMultipartProperties
class. For example, if you want to specify that files be unlimited, set thespring.servlet.multipart.max-file-size
property to-1
.The multipart support is helpful when you want to receive multipart encoded file data as a
@RequestParam
-annotated parameter of typeMultipartFile
in a Spring MVC controller handler method.See the
MultipartAutoConfiguration
source for more details.
It is recommended to use the container’s built-in support for multipart uploads rather than introducing an additional dependency such as Apache Commons File Upload.
方案一:
application.properties配置(yml一样,只是格式有变化)
spring.servlet.multipart.max-file-size=200MB
spring.servlet.multipart.max-request-size=200MB
方案二:
编写配置类,并通过@Bean标签来加入到IOC容器中管理
package cn.arebirth.config; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.web.servlet.MultipartConfigFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.util.unit.DataSize; import javax.servlet.MultipartConfigElement; @Configuration public class FileUploadConfiuration { @Bean public MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); //单个文件大小200mb factory.setMaxFileSize(DataSize.ofMegabytes(200L)); //设置总上传数据大小10GB factory.setMaxRequestSize(DataSize.ofGigabytes(10L)); return factory.createMultipartConfig(); } }
以上是关于SpringBoot 2.x版本+MultipartFile设置指定文件上传大小的主要内容,如果未能解决你的问题,请参考以下文章
SPRINGBOOT启动原理(基于2.x版本)-SpringFactoriesLoader
SPRINGBOOT启动原理(基于2.x版本)- SpringApplication里有啥
SpringBoot 2.x版本+MultipartFile设置指定文件上传大小