无法在 Spring Boot 2 中设置“spring.servlet.multipart.max-file-size”的最大值

Posted

技术标签:

【中文标题】无法在 Spring Boot 2 中设置“spring.servlet.multipart.max-file-size”的最大值【英文标题】:Unable to set maximum value for "spring.servlet.multipart.max-file-size" in spring boot 2 【发布时间】:2019-07-21 03:28:19 【问题描述】:

spring.servlet.multipart.max-file-size 在 Spring Boot 2 中可以为多部分上传设置的最大值是多少?

我们可以将其设置为无限制吗?我在其他博客上看到将其设置为 -1 将允许无限制,但它对我不起作用。

我尝试将其放入application.properties,但没有任何帮助

spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-file-size=-1
spring.servlet.multipart.max-request-size=-1

更新:

1) 当我使用 Postman 发布小于 10MB 的文件时,我的文件被上传,而在另一种情况下,我得到了


    "timestamp": 1551270385443,
    "message": "java.io.IOException: UT000020: Connection terminated as request was larger than 10485760",
    "path": "v1/order/upload/"

这相当于我在application.properties中不配置max-file-sizemax-request-size property得到的响应

我正在使用的教程:https://www.callicoder.com/spring-boot-file-upload-download-rest-api-example/

2)

spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-file-size=-1
spring.servlet.multipart.max-request-size=1024MB

以上配置允许我上传大于 10MB 的文件。

【问题讨论】:

Max Limit of MultipartFile in spring boot的可能重复 【参考方案1】:

根据此处的文档: https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html

还有上传教程: https://spring.io/guides/gs/uploading-files/

我很确定你的属性是正确的。

您没有提供任何代码或其他属性,所以以下只是我的怀疑:

spring.servlet.multipart.max-file-size=-1 是一回事,但与它一起,您还应该相应地设置spring.servlet.multipart.max-request-size,因为可能会导致整个请求被拒绝。

【讨论】:

我也尝试配置最大请求大小但仍然出现异常,我已经更新了我的问题,请看一下。 那听起来很神秘 :) 你确定你的application.properties 是在正确的地方并被接走吗? 大声笑,是的,它在正确的位置,其背后的原因是我能够将这些配置更改为不同的大小并成功上传它们而没有任何问题,这只是我的 -1 配置我遇到了问题。 如果您将值从 -1 显式设置为 100MB 然后发送,即 15MB 请求,会发生什么?可以试试吗? 我刚刚从您的问题中复制了属性,所以这些属性是-1s。

以上是关于无法在 Spring Boot 2 中设置“spring.servlet.multipart.max-file-size”的最大值的主要内容,如果未能解决你的问题,请参考以下文章

无法从 Spring Boot 应用程序中设置的 DBRef 中删除

如何在 Spring Boot Tests 中设置 servlet 上下文路径?

无法在 Spring Boot 应用程序提供的响应中设置“Access-Control-Allow-Origin”标头

如何在spring boot中设置禁用浏览器缓存?

如何使用 WebFlux 在 Spring Boot 2 中设置登录页面?

如何使用WebFlux在Spring Boot 2中设置登录页面?