Kou*_*out 2 java rest spring resttemplate
我有一个 Get API,可以通过它下载 PDF。使用 Spring rest 模板我能够获取内容,但是当我创建 PDF 文件时,它正在创建一个空白的 pdf。
我正在使用 byte[] 创建一个新文件。
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_PDF));
HttpEntity<String> entity = new HttpEntity<>(headers);
ResponseEntity<String> result =
restTemplate.exchange(uri, HttpMethod.GET, entity, String.class);
String content = response.getBody();
byte[] bytes = content.getBytes();
Files.write(Paths.get("/home/123.pdf"), bytes, StandardOpenOption.CREATE );
Run Code Online (Sandbox Code Playgroud)
无论如何请建议我这样做,最后我的目标
是在 S3 中上传。
您的请求标头还应包括 MediaType.APPLICATION_OCTET_STREAM
此响应对象将返回一个字节数组 - 这将是您的 pdf。
所以,完整的例子应该是这样的——
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_PDF, MediaType.APPLICATION_OCTET_STREAM));
HttpEntity<String> entity = new HttpEntity<>(headers);
ResponseEntity<byte[]> result =
restTemplate.exchange(uri, HttpMethod.GET, entity, byte[].class);
byte[] content = result.getBody();
Files.write(Paths.get("/home/123.pdf"), content, StandardOpenOption.CREATE );
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
4620 次 |
| 最近记录: |