使用spring boot消耗multipart请求并转发给第三个应用程序

时间:2017-07-17 10:18:13

标签: spring-boot multipartform-data

前端正在将多部分表单数据发送到Spring引导后端。

是否可以使用此表单数据并使用spring boot rest模板将其转发到第三个应用程序?

目前,我正在使用@ModelAttribute读取表单数据。然后我创建一个HttpEntity,标题设置为Multipart表单数据并使用postForEntity发送它。 但是,我在发布Multipart文件时遇到问题。所以想知道我是否可以接受请求对象并按原样传递它。

public HttpEntity<LinkedMultiValueMap<String, Object>> getHttpEntity(SubmitModel model) throws IOException {
    LinkedMultiValueMap<String, Object> map = new LinkedMultiValueMap<>();
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.MULTIPART_FORM_DATA);
    map.add("json", model.getDocMetadata());
    MultipartFile files[] = model.getFile();
    for(MultipartFile file : files) {
        String filename = file.getOriginalFilename();
        File storeFile = new File(file.getOriginalFilename());
        Resource fileRes = new FileSystemResource(storeFile);
        map.add("file", fileRes);
    }

    HttpEntity<LinkedMultiValueMap<String, Object>> requestEntity = new HttpEntity<>(map, headers);
    return requestEntity;
}

谢谢!

0 个答案:

没有答案