Необходимо загрузить файл с сервера. Файл формируется динамически, в зависимости от переданных параметров, у него меняется имя. Вот контроллер, который отдает файл:
@PostMapping(value = "/getFile")
public ResponseEntity<Resource> getNotFoundProviderGoods(@RequestParam("id") long id) throws IOException {
File file = new File(getFile(id));
InputStreamResource resource = new InputStreamResource(new FileInputStream(file));
HttpHeaders headers = new HttpHeaders();
headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + file.getName());
return ResponseEntity.ok()
.headers(headers)
.contentLength(file.length())
.contentType(MediaType.parseMediaType("application/octet-stream"))
.body(resource);
}
Далее я получаю ResponseEntity, и не знаю, как извлечь данный файл с его именем...
CloseableHttpClient client = HttpClients.createDefault();
HttpPost httpPost = new HttpPost("http://localhost:7587/getFile");
httpPost.setHeader("X-CSRF-TOKEN", token);
httpPost.setHeader("Cookie", cookie);
HttpEntity reqEntity = MultipartEntityBuilder.create()
.addTextBody("providerId", String.valueOf(id)).setCharset(Charset.forName("UTF-8"))
.build();
httpPost.setEntity(reqEntity);
try (CloseableHttpResponse response = client.execute(httpPost)) {
System.out.println(response);
if (response.getStatusLine().getStatusCode() == HttpURLConnection.HTTP_OK) {
........... // как распарсить response ?
}
как распарсить response ?