弹簧启动时MultipartFile的最大限制

Rav*_*ndu 41 java tomcat file-upload spring-boot

是否存在Spring Boot可在MultipartFile上载过程中处理的最大文件大小.我知道我可以在属性中设置maxFileSize multipart.maxFileSize=1Mb.

所以,像这样我可以允许上传一个巨大的文件,比如50MB.该应用程序在与spring boot集成的tomcat服务器上运行.我是否还需要配置tomcat服务器.或者文件大小是否无限制?

小智 68

对于使用Spring Boot 2.0的用户(从M1版本开始),属性名称已更改为:

spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
Run Code Online (Sandbox Code Playgroud)

注意前缀是"spring.servlet"而不是"spring.http".

  • 尝试寻找这两者之间的差异但没有运气。您能分享一些参考吗? (3认同)
  • 如果您的请求有多个文件,则 max-request-size 将是所有文件组合的大小限制。 (3认同)

小智 26

似乎设置-1将使其为无限文件大小.

multipart.maxFileSize = -1

multipart.maxRequestSize = -1

  • 更具体地说:`spring.http.multipart.max-file-size = 128KB``chun.http.multipart.max-request-size = 128KB` (3认同)
  • 我测试了此解决方案,它为我工作。已上传400GB文件!我不需要配置其他任何东西,因为我正在使用码头。spring.http.multipart.max-file-size = -1 spring.http.multipart.max-request-size = -1 @jimmbraddock表示 (2认同)

Pat*_*mil 10

Spring Boot 已经将 Tomcat 嵌入其中,因此我们不需要对其进行配置。application-properties 中的 MULTIPART 属性将处理它。

对于外部服务器,默认限制为50MB。我们打开就可以看到webapps/manager/WEB-INF/web.xml

<multipart-config>
   <max-file-size>52428800</max-file-size>
   <max-request-size>52428800</max-request-size>
   <file-size-threshold>0</file-size-threshold>
</multipart-config>
Run Code Online (Sandbox Code Playgroud)

MULTIPART 属性已根据版本更改。

Spring Boot 1.3.x 及更早版本

multipart.max-file-size
multipart.max-request-size
Run Code Online (Sandbox Code Playgroud)

在 Spring Boot 1.3.x 之后:

spring.http.multipart.max-file-size=-1
spring.http.multipart.max-request-size=-1
Run Code Online (Sandbox Code Playgroud)

在 Spring Boot 2.0 之后:

spring.servlet.multipart.max-file-size=-1
spring.servlet.multipart.max-request-size=-1 
Run Code Online (Sandbox Code Playgroud)


Dev*_*eva 6

在我的application.yml档案中

spring:
 servlet:
    multipart:
      max-file-size: 15MB
      max-request-size: 15MB
Run Code Online (Sandbox Code Playgroud)

如果你有application.properties文件

spring.servlet.multipart.max-file-size = 15MB
spring.servlet.multipart.max-request-size = 15MB
Run Code Online (Sandbox Code Playgroud)

即使您可以将文件大小设置为无限

spring.servlet.multipart.max-file-size =-1
spring.servlet.multipart.max-request-size =-1
Run Code Online (Sandbox Code Playgroud)

  • 注意:对于.yml文件,您的文件大小仍然需要大写。15MB而不是15Mb。 (2认同)