将 Publisher<CompletedFileUpload> 转换为 Maybe<HttpResponse<?>>

Convert Publisher<CompletedFileUpload> to Maybe<HttpResponse<?>>

我有以下方法

public Maybe<HttpResponse<?>> post(Publisher<CompletedFileUpload> files) {
        MultipartBody.Builder requestBody = MultipartBody.builder();
        return Flowable.fromPublisher(files).flatMap(file -> {
            requestBody
                    .addPart("file", file.getFilename(), MediaType.TEXT_PLAIN_TYPE, file.getBytes())
                    .addPart("id", "asdasdsds");
            return this.iProductClient.post(requestBody.build());
        });
    }

this.iProductClient.post(requestBody.build()); 中的 return 类型是 Maybe<HttpResponse<?>>

如何将下面的代码转换成returnMaybe<HttpResponse<?>>,目前下面的方法有错误

return Flowable.fromPublisher(files).flatMap(file -> {
            requestBody
                    .addPart("file", file.getFilename(), MediaType.TEXT_PLAIN_TYPE, file.getBytes())
                    .addPart("id", "asdasdsds");
            return this.iProductClient.post(requestBody.build());
        });

您可以在请求发送中使用collect然后平面图:

return Flowable.fromPublisher(files)
    .collect(MultipartBody::builder, (requestBody, file) -> {
        requestBody
            .addPart("file", file.getFilename(), MediaType.TEXT_PLAIN_TYPE, file.getBytes())
            .addPart("id", "asdasdsds");
    })
    .flatMapMaybe(requestBody -> iProductClient.post(requestBody.build()))
    ;