将 Flux<DataBuffer> 转换为 Flux<ByteBuffer>

Convert Flux<DataBuffer> into Flux<ByteBuffer>

我正在处理 spring webflux 文件上传。我想从控制器上传文件到 amazon S3 bucket。所以在控制器中我收到了以下对象

org.springframework.http.codec.multipart.FilePart

并且从FilePart.content()我可以得到

reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer>

我的问题是如何将此 Flux<DataBuffer> 转换为 Flux<ByteBuffer>。我的意思是进入以下对象

Flux<java.nio.ByteBuffer>

您可以简单地使用 org.springframework.core.io.buffer.DataBuffer#asByteBuffer():

Flux<java.nio.ByteBuffer> buffers = filePart.content()
    .map(DataBuffer::asByteBuffer);