diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/HttpPostRequestEncoder.java b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/HttpPostRequestEncoder.java index ca0d8e7608..de0017b612 100755 --- a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/HttpPostRequestEncoder.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/HttpPostRequestEncoder.java @@ -894,9 +894,7 @@ public class HttpPostRequestEncoder implements ChunkedInput { private ByteBuf fillByteBuf() { int length = currentBuffer.readableBytes(); if (length > HttpPostBodyUtil.chunkSize) { - ByteBuf slice = currentBuffer.slice(currentBuffer.readerIndex(), HttpPostBodyUtil.chunkSize); - currentBuffer.skipBytes(HttpPostBodyUtil.chunkSize); - return slice; + return currentBuffer.readRetainedSlice(HttpPostBodyUtil.chunkSize); } else { // to continue ByteBuf slice = currentBuffer;