Spring MVC 如何在Sping Boot 中将文件添加为Http请求中的Form数据

ct3nt3jp  于 2022-11-14  发布在  Spring
关注(0)|答案(1)|浏览(131)

我正在编写测试用例到一个控制器在Spring Boot 它采取MultipartFile作为RequestParam。在测试用例方法中我使用TestRestTemplate.exchange()发送请求到控制器。我不知道如何使头正确,以便我可以发送请求。
Postman 卷发看起来像这样:
curl --位置--请求POST '本地主机:9091/响应/上载'
--表单'文件=@"/home/adityak/下载/客户端日志_新. txt”'

afdcj2ne

afdcj2ne1#

用于将文件上载到任何服务或终结点
私有字符串testExchange(文件文件){

//add file
LinkedMultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
params.add("file", new FileSystemResource(file));

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);

HttpEntity<LinkedMultiValueMap<String, Object>> requestEntity =
        new HttpEntity<>(params, headers);

ResponseEntity<String> responseEntity = restTemplate.exchange(
        "/upload-file",
        HttpMethod.POST,
        requestEntity,
        String.class);

HttpStatus statusCode = responseEntity.getStatusCode();
if (statusCode == HttpStatus.ACCEPTED) {
    result = responseEntity.getBody();
}
return result;

}

相关问题