From c3d281009167814da53ebdc44c7b65f6fc9db8dc Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期四, 05 三月 2026 21:03:58 +0800
Subject: [PATCH] fix:管理后台车辆管理模块

---
 xp-robotaxi-gateway-boot/src/main/java/com/xiaopeng/gateway/filter/CacheRequestFilter.java |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/xp-robotaxi-gateway-boot/src/main/java/com/xiaopeng/gateway/filter/CacheRequestFilter.java b/xp-robotaxi-gateway-boot/src/main/java/com/xiaopeng/gateway/filter/CacheRequestFilter.java
index 1f37289..8ed4bd5 100644
--- a/xp-robotaxi-gateway-boot/src/main/java/com/xiaopeng/gateway/filter/CacheRequestFilter.java
+++ b/xp-robotaxi-gateway-boot/src/main/java/com/xiaopeng/gateway/filter/CacheRequestFilter.java
@@ -8,6 +8,7 @@
 import org.springframework.cloud.gateway.filter.OrderedGatewayFilter;
 import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory;
 import org.springframework.cloud.gateway.support.ServerWebExchangeUtils;
+import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
 import org.springframework.stereotype.Component;
 import org.springframework.web.server.ServerWebExchange;
@@ -52,6 +53,11 @@
 			if (method == null || method == HttpMethod.GET || method == HttpMethod.DELETE) {
 				return chain.filter(exchange);
 			}
+			String contentType = exchange.getRequest().getHeaders().getFirst(HttpHeaders.CONTENT_TYPE);
+			// multipart(二进制)请求不缓存body,避免大文件带来内存/性能风险
+			if (contentType != null && contentType.toLowerCase().startsWith("multipart/")) {
+				return chain.filter(exchange);
+			}
 			return ServerWebExchangeUtils.cacheRequestBodyAndRequest(exchange, (serverHttpRequest) -> {
 				if (serverHttpRequest == exchange.getRequest()) {
 					return chain.filter(exchange);
@@ -72,4 +78,4 @@
 			this.order = order;
 		}
 	}
-}
\ No newline at end of file
+}

--
Gitblit v1.7.1