如何在 Spring Boot 中设置相当于 Jetty 的“maxFormContentSize”?

Posted

技术标签:

【中文标题】如何在 Spring Boot 中设置相当于 Jetty 的“maxFormContentSize”?【英文标题】:How to set the equivalent of Jetty's "maxFormContentSize" in Spring Boot? 【发布时间】:2022-01-12 06:44:56 【问题描述】:

我们正在将一个项目从经典战争项目迁移到 Spring Boot 应用程序。旧项目使用 Jetty,在启动 Jetty JVM 时,我们提供了-Dorg.eclipse.jetty.server.Request.maxFormContentSize=5000000 参数来限制表单上传的最大大小。我们希望在 Spring Boot 应用程序中具有相同的限制。但是我有点困惑,因为 Spring Boot 中有很多属性可供选择,例如:

server.tomcat.max-swallow-size
server.tomcat.max-http-post-size
spring.servlet.multipart.fileSizeThreshold
spring.servlet.multipart.max-file-size
spring.servlet.multipart.max-request-size

当然,同一个风向标中可能还有更多我不知道的属性。

我的问题是:当使用嵌入式 tomcat 网络服务器时,Spring Boot 中的org.eclipse.jetty.server.Request.maxFormContentSize=5000000 是什么意思?我们正在使用 Spring Boot 2.5.6(但我们将升级到 2.6.x)并且我们正在使用具有阻塞 IO 的标准嵌入式 Tomcat Web 服务器。

【问题讨论】:

【参考方案1】:

在 spring 文档中,server.jetty.max-http-form-post-size 等同于 org.eclipse.jetty.server.Request.maxFormContentSize 属性,并定义了任何 HTTP 发布请求中表单内容的最大大小

【讨论】:

谢谢,但我正在寻找 tomcat 网络服务器的等效设置。 @Johan 不客气,那么 server.tomcat.max-http-form-post-size 包含在您的帖子中听起来更方便,所有服务器属性都在我发布的链接中定义。

以上是关于如何在 Spring Boot 中设置相当于 Jetty 的“maxFormContentSize”?的主要内容,如果未能解决你的问题,请参考以下文章

Spring 如何在 Spring Boot 中设置数据源

如何在 Spring Boot 中设置 enableLoggingRequestDetails='true'

如何在 Spring Boot 中设置 UTF-8 字符编码?

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

如何在 Spring Boot 中的 DatabaseConfig 中设置属性

如何在 Spring Boot 中设置副本集?