Post 文件使用 webclient webflux 到 API 接受 APPLICATION_OCTET_STREAM

Post file using webclient webflux to API accepting APPLICATION_OCTET_STREAM

我想使用 Webflux 网络客户端将文件上传到 rest api。接受文件的 API 的内容类型为 APPLICATION_OCTET_STREAM 我如何使用 spring WebClient 来做到这一点?

如何将以下 curl 转换为 WebClient 请求?

curl -i -X POST --header "Content-Type:application/octet-stream" --header --data-binary @myfile.pdf  https://some-host/some-url

注意 - 我不希望文件很大

这就是我上传文件的方式

步骤 1:将文件读取为字节数组

bytes = new FileSystemResource((filePath)).getInputStream()
                    .readAllBytes();

步骤 2 : 将字节数组传递给 bodyValue 方法

webClient.post()
         .uri("Some-uri)
         .contentType(MediaType.APPLICATION_OCTET_STREAM)
         .bodyValue(bytes)
         .retrieve()
         .toBodilessEntity())