Как получить файл XLSM (лист Excel) из двоичных данных? - PullRequest
0 голосов
/ 08 июля 2019

У меня есть файл 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)формат должен работать.

...