У меня ниже http сервисный вызов для извлечения имени файла из раздела заголовка расположения контента
getFile(): Observable<HttpResponse<Blob>> {
const url = (`/api/Employers/guid/files/employees`);
let params = new HttpParams();
params = params.append('type', 'xlsx');`enter code here`
return this.httpClient.get<Blob>(url, { params, observe: 'response', responseType: 'blob' as 'json' });
}
, а ниже - метод подписки для извлечения файла
getFileResponse(): any {
this.service.getFile().subscribe((response: any) => {
console.log(response.headers.get('content-disposition'));
const generatedFileName = 'xyz';
const generatedFileType = '.xlsx';
const blob = new Blob([content], { type: 'application/octet-stream' });
if (window.navigator.msSaveBlob) {
// to download in IE
window.navigator.msSaveBlob(blob, fileName + filetype);
} else {
sanitizer.bypassSecurityTrustResourceUrl(window.URL.createObjectURL(blob));
const a = document.createElement('a');
a.href = window.URL.createObjectURL(blob);
a.download = fileName + filetype;
a.click();
}
});
}
Без использования наблюдать: «ответ», файл загружается правильно.Но когда я использую наблюдение: «ответ», файл поврежден.Любое предложение высоко ценится.