Из серверного API я получаю список данных учеников в действительный файл Excel, который загружается при попадании в конечную точку /api/v1.0/students/students-xlsx/ Но на стороне клиента, когда я звонюэта конечная точка показывает нечитаемый формат и загружается как испорченный файл Excel.
Я следовал некоторым советам по переполнению стека, таким как atob, кодировал данные ответа и добавлял определенный тип (UTF-8), но это не удалось. Тем не менее я получаю испорченный файл со странными символами.
excelFileDownload() {
this.$http.get(this.exportXLUrl)
.then((response) => {
response.blob().then(() => {
const blob = new Blob([response.body], { type: response.headers.get('content-type') });
const filename = response.headers.map['content-disposition'][0].split('filename=')[1];
const link = document.getElementById('download-excel-file');
link.href = window.URL.createObjectURL(blob);
link.download = filename.split('"').join('');
link.style.display = 'block';
link.click();
});
});
},
Я ожидаю, что вывод будет таким же, как когда я просто использую браузерный API для вызова конечной точки, что дает мне соответствующий файл формата xls с читаемыми символами. Но на стороне клиента я этого не понимаю. Это все сломано. Любая помощь будет полезна для улучшения моего кода.