diff --git a/spring-web/src/main/java/org/springframework/http/codec/multipart/PartGenerator.java b/spring-web/src/main/java/org/springframework/http/codec/multipart/PartGenerator.java index f34a702d92c..8c741cbbf3e 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/multipart/PartGenerator.java +++ b/spring-web/src/main/java/org/springframework/http/codec/multipart/PartGenerator.java @@ -99,7 +99,8 @@ final class PartGenerator extends BaseSubscriber { sink.onCancel(generator); sink.onRequest(l -> generator.requestToken()); - tokens.subscribe(generator); + tokens.doOnDiscard(MultipartParser.BodyToken.class, bodyToken -> DataBufferUtils.release(bodyToken.buffer())) + .subscribe(generator); }); }