diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index d11d9f0ea..637956c2c 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -8,7 +8,7 @@ server: # undertow 配置 undertow: # HTTP post内容的最大大小。当值为-1时,默认值为大小是无限的 - max-http-post-size: -1 + max-http-post-size: 1GB # 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理 # 每块buffer的空间大小,越小的空间被利用越充分 buffer-size: 512 diff --git a/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/UndertowConfig.java b/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/UndertowConfig.java index 84f88ff82..02ab0a1eb 100644 --- a/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/UndertowConfig.java +++ b/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/UndertowConfig.java @@ -1,11 +1,14 @@ package org.dromara.common.web.config; +import io.undertow.UndertowOptions; import io.undertow.server.DefaultByteBufferPool; import io.undertow.server.handlers.DisallowedMethodsHandler; import io.undertow.util.HttpString; import io.undertow.websockets.jsr.WebSocketDeploymentInfo; import org.dromara.common.core.utils.SpringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.AutoConfiguration; +import org.springframework.boot.autoconfigure.web.ServerProperties; import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory; import org.springframework.boot.web.server.WebServerFactoryCustomizer; import org.springframework.core.task.VirtualThreadTaskExecutor; @@ -18,6 +21,9 @@ import org.springframework.core.task.VirtualThreadTaskExecutor; @AutoConfiguration public class UndertowConfig implements WebServerFactoryCustomizer { + @Autowired + private ServerProperties serverProperties; + /** * 自定义 Undertow 配置 *

@@ -31,6 +37,11 @@ public class UndertowConfig implements WebServerFactoryCustomizer { + builder.setServerOption(UndertowOptions.MULTIPART_MAX_ENTITY_SIZE, bytes); + }); + factory.addDeploymentInfoCustomizers(deploymentInfo -> { // 配置 WebSocket 部署信息,设置 WebSocket 使用的缓冲区池 WebSocketDeploymentInfo webSocketDeploymentInfo = new WebSocketDeploymentInfo();