Когда я загружаю файл .xlsx с сервера, загруженный файл не имеет правильной структуры (таблица стилей, рабочая таблица и т. Д.), Но это просто двоичный файл с расширением .xlsx.
Примечание: Отлично работает на Chrome, Firefox, Edge и локально даже в IE11, и я установил одинаковые настройки безопасности Internet Explorer для локальных и удаленных веб-сайтов.
Вот как сервер создает ответ:
const buffer = json2xls(values, { fields: fields });
res.end(buffer, 'binary');
Так клиент сохраняет выбранные данные:
downloadFile(selectedReport) {
const blob = new Blob([selectedReport.blob()], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
FileSaver.saveAs(blob, `result.xlsx`);
}
Я попытался заменить:
FileSaver.saveAs (blob, result.xlsx
);
с:
window.navigator.msSaveBlob (blob, result.xlsx
);
, но результат остается тем же.
Примечание: содержимое поврежденного result.xlsx
файла совпадает с buffer
, отправленным сервером.