У меня есть файл XLSM (файл листа Excel) в папке ресурсов (src / main / resources).Я получаю файл с помощью InputStream и даю ответ в RestAPI.Но я не могу вернуть файл из ответа.Файл поврежден.Что я не так делаю в следующем коде.
@GetMapping("/downloadTemplate")
public ResponseEntity<?> downloadTemplate() throws IOException {
String fn = "filename" ;
try {
InputStream inputStream = getClass().getClassLoader().getResourceAsStream(fn);
return ResponseEntity.ok().header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE)
.header(HttpHeaders.CONTENT_TYPE, "application/xlsx")
.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + fn)
.body(IOUtils.toByteArray(inputStream));
} catch (Exception e) {
log.error("An error occurred while trying to downloadTemplate: {}", e);
throw new ApiException(ApiErrorCode.DEFAULT_410, "Error while downloading");
}
}
Я думаю, что что-то не так с типом содержимого (HttpHeaders.CONTENT_TYPE, "application / xlsx")
Примечание: (XLSX)формат должен работать.