Spring Boot 如何解决RequestTooBigException,连接终止,因为请求大于10485760?

8mmmxcuj  于 2023-02-08  发布在  Spring
关注(0)|答案(6)|浏览(102)

我尝试上传一个6MB的文件到我的JHipster应用服务器。但是,我得到了以下错误。我在哪里可以找到相关的配置?

io.undertow.server.RequestTooBigException: UT000020: Connection terminated as request was larger than 10485760
at io.undertow.conduits.FixedLengthStreamSourceConduit.checkMaxSize(FixedLengthStreamSourceConduit.java:168)
at io.undertow.conduits.FixedLengthStreamSourceConduit.read(FixedLengthStreamSourceConduit.java:229)
at org.xnio.conduits.ConduitStreamSourceChannel.read(ConduitStreamSourceChannel.java:127)
at io.undertow.channels.DetachableStreamSourceChannel.read(DetachableStreamSourceChannel.java:209)
at io.undertow.server.HttpServerExchange$ReadDispatchChannel.read(HttpServerExchange.java:2332)
at org.xnio.channels.Channels.readBlocking(Channels.java:294)
at io.undertow.servlet.spec.ServletInputStreamImpl.readIntoBuffer(ServletInputStreamImpl.java:192)
at io.undertow.servlet.spec.ServletInputStreamImpl.read(ServletInputStreamImpl.java:168)
at io.undertow.server.handlers.form.MultiPartParserDefinition$MultiPartUploadHandler.parseBlocking(MultiPartParserDefinition.java:213)
at io.undertow.servlet.spec.HttpServletRequestImpl.parseFormData(HttpServletRequestImpl.java:792)
cvxl0en2

cvxl0en21#

Spring Boot具有以下缺省属性

spring.servlet.multipart.max-file-size=1MB # Max file size. Values can use the suffixes "MB" or "KB" to indicate megabytes or kilobytes, respectively.
spring.servlet.multipart.max-request-size=10MB # Max request size. Values can use the suffixes "MB" or "KB" to indicate megabytes or kilobytes, respectively.

10485760 = 10MB
参见文件上传Spring Bootguide

bjp0bcyl

bjp0bcyl2#

对于Sping Boot 1.5.13.RELEASE,请尝试以下属性:

spring.http.multipart.max-request-size=100MB
spring.http.multipart.max-file-size=100MB
bjp0bcyl

bjp0bcyl3#

在容器级别,有属性maxPostSize,可以直接在连接器上指定。
来自文档:
将由容器FORM URL参数分析处理的POST的最大大小(以字节为单位)。通过将此属性设置为小于或等于0的值,可以禁用此限制。如果未指定,则此属性将设置为2097152(2 MB)。

1hdlvixo

1hdlvixo4#

除了maslbl4的答案,对于那些谁使用“.yml“配置文件像我一样,使用以下代码:

spring:
  servlet:
    multipart:
      max-file-size: 100MB
      max-request-size: 100MB

对我来说效果很好。

hujrc8aj

hujrc8aj5#

打开standalone-full.xml文件并写入{max-post-size=“50000000”}这里我给予了文件大小50 mb。我的项目正在成功运行。

<server name="default-server">
            <http-listener name="default" max-post-size="50000000" socket-binding="http" redirect-socket="https" enable-http2="true"/>
            <https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>
            <host name="default-host" alias="localhost">
                <location name="/" handler="welcome-content"/>
                <http-invoker security-realm="ApplicationRealm"/>
            </host>
        </se
niknxzdl

niknxzdl6#

使用Spring版本:2.3.12您可以使用以下属性。

spring.servlet.multipart.max-file-size=35MB
spring.servlet.multipart.max-request-size=35MB
  • 注意:http已过时 *

相关问题