import {Injectable} from '@angular/core'; import {HttpResponse} from "@angular/common/http"; @Injectable({ providedIn: 'root', }) export class FileService { getFilenameFromHttpResponse(httpResponse: HttpResponse) { const contentDispositionHeader = httpResponse.headers.get('Content-Disposition'); let result = contentDispositionHeader.split(';')[1].trim().split('=')[1]; result = result.replace(/"/g, ''); return result; } downloadBlob(data: HttpResponse) { const url = window.URL.createObjectURL(data.body); const anchor = document.createElement('a'); anchor.download = this.getFilenameFromHttpResponse(data); anchor.href = url; anchor.click(); anchor.remove(); window.URL.revokeObjectURL(url); } }