Я пытаюсь загрузить файл Excel из веб-API, который у меня есть, я возвращаю байты, но я предполагаю, что есть какая-то магия сзади, которая преобразует его в Base64.
ладно, в любом случае, в связи с рассматриваемой проблемой, я пытаюсь использовать обнаруженный мной шаблон, который выглядит примерно так:
this.http.get(`${AppConfig.settings.apiServer.url}reports/downloadBillingReport`, requestOptions).subscribe((result:any)=>{
let body:string = result._body;
const byteCharacters = window.atob(body);
const byteNumbers = new Array(byteCharacters.length);
for (let i = 0; i < byteCharacters.length; i++) {
byteNumbers[i] = byteCharacters.charCodeAt(i);
}
const byteArray = new Uint8Array(byteNumbers);
let applicationType:string = `application/xlsx`;
let blob = new Blob([body], { type: `application/xlsx` } );
let today = new Date();
let fileName = `billing-report-${today.toLocaleDateString()}`;
saveAs(blob, fileName);
});
, но моя проблема в том, что когда я добираюсь до окна.atob (body) происходит сбой.
ошибка, которую я получаю:
Не удалось выполнить 'atob' в 'Window': декодируемая строка неправильно закодирована.
Не могу понять, почему это происходит.Может кто-нибудь, пожалуйста, помогите мне понять это спасибо!