如何在 Spring Boot 中从 InputStream 创建 MultipartFile 对象

Pav*_*van 6 java rest multipartform-data spring-boot feign

我有 2 项服务,ServiceA并且有一个名为 的 API 。现在我想从我正在使用的API 中调用这个 API ,并且这两个服务都使用 Spring Boot。ServiceBServiceBcreateDocument(@RequestParam("file") MultipartFile file)ServiceAFeignClient

我的 FeignClient 看起来像这样

@FeignClient(
    name = "serviceB",
    url = "com.serviceb.url",
    configuration = {ServiceBErrorDecoder.class},
    fallbackFactory = ServiceBFallbackFactory.class)
@Service
public interface ServiceB{

@PostMapping(value = "/documents")
    ResponseEntity createDocument(@RequestParam("file") MultipartFile file);
}
Run Code Online (Sandbox Code Playgroud)

现在,在 ServiceA 中,我想调用这个createDocumentAPI。我可以做到这一点,但问题是如何创建MultipartFile对象并传递它?我有InputStream包含一些内容的对象,但我不想创建物理文件。

服务A代码

public void processObjects(Entity entity) throws JsonProcessingException {
    SomeObject object = new SomeObject();
    //setters
    ....
    InputStream inputStream = new ByteArrayInputStream(
            Objects.requireNonNull(SerializationUtils.serialize(object)));
    InputStreamResource inputStreamResource = new InputStreamResource(inputStream);
    
    //How do I create MultipartFile object from this InputStream?
    serviceB.createDocument(**multipartfile**)
}
Run Code Online (Sandbox Code Playgroud)

请帮忙。谢谢