Я мог видеть много связанных тем, но у меня есть определенная проблема. Я использую весенний загрузочный контроллер для загрузки zip-файла. Я могу загрузить файл, когда он получит http-глагол, но, поскольку мне нужно передать большую полезную нагрузку json, я перешел на публикацию. С тех пор вместо того, чтобы загружать его как файл, он отвечает на содержимое файла некоторыми символами ascii. Ниже приведен метод загрузки файла в контроллере.
@ApiResponses(value = { @ApiResponse(code = 404, message = "file could not be found"),
@ApiResponse(code = 200, message = "File was created sucessfully") })
@PostMapping(path="/download-file/1.0", produces="application/zip")
public ResponseEntity<InputStreamResource> downloadFile(
@ApiParam(value = "File creation contents", required = true) @RequestBody InputDetailsVO inputDetailsVO) {
File file = null;
InputStreamResource resource = null;
HttpHeaders headers = new HttpHeaders();
try {
//Creating InputStreamResource out of zip file
resource = new InputStreamResource(new FileInputStream(file));
String contentType = "application/zip";
if (!StringUtils.isEmpty(contentType)) {
headers.setContentType(MediaType.parseMediaType(contentType));
}
headers.add("Content-Disposition","attachment; filename=\""+file.getName()+"\"");
} catch (Exception e) {
log.error("Issue with file creation",e);
}
return ResponseEntity.ok()
.contentLength(file.length())
.contentType(MediaType
.parseMediaType(MediaType.APPLICATION_OCTET_STREAM_VALUE))
.headers(headers).body(resource);
}
Ниже приведен ответ, который я получаю вместо загрузки файла
PK;��N <?xml version="1.0" encoding="UTF-8"?>
<employeeDetails>
<name>Harry</name>
<age>30</30>
<email>test@test.com</test>
</employeeDetails>PK�qB�@Y;YPK;��N�qB�@Y;Yemployee details.xmlPKL�Y