首页 > 解决方案 > Java Spring管道远程文件成分段上传

问题描述

我在位置 X 有一个图像。我想将它复制到接受表单数据的位置 Y。我不想将文件下载到服务器上的临时文件中,而是通过管道传输。我当前的设置使用临时文件。

  public Asset pipeToY(File tempFileFromX) {
    Resource resource = new FileSystemResource(tempFileFromX.getPath());
    LinkedMultiValueMap<String, Object> map = new LinkedMultiValueMap<>();
    map.add("file", resource);
    // map.add("otherInfos");
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.MULTIPART_FORM_DATA);
    headers.set("Authorization", "Bearer " + myTokenForY);
    HttpEntity<LinkedMultiValueMap<String, Object>> requestEntity = new HttpEntity<>(
        map, headers);

    try {
      ResponseEntity<Object> result = restTemplate.exchange(locationY, HttpMethod.POST, requestEntity,
          Object.class);
      HashMap<String, String> resultMap = (HashMap<String, String>) result.getBody();
      return convert(resultMap);
    } catch (Exception e) {
      // ...
    }
  }

如何用管道流替换该部分?

public Asset pipeToY(String urlX) {
    Resource resource = new InputStreamResource(???)
}

标签: javaspringmultipartform-data

解决方案


推荐阅读