Поскольку ваше изображение находится на удаленном сервере, вы не можете загрузить его просто так, как если бы вы использовали собственные ресурсы в целях безопасности.
Вот как выглядит простая функция downloadUrl. Она попросит браузер загрузить любой заданный URL:
function downloadUrl(url: string, fileName: string) {
let a: any = document.createElement('a');
a.href = url;
a.download = fileName;
document.body.appendChild(a);
a.style = 'display: none';
a.click();
a.remove();
};
Поскольку мы не можем загружать удаленные ресурсы, нам придется создавать их на стороне клиента.
Мы получим ресурс и создадим его собственный URL. Тогда мы, наконец, сможем скачать его, используя нашу функцию downloadUrl
.
constructor(
private http: HttpClient,
) { }
this.http.get(urlImage, { responseType: 'blob' }).subscribe(val => {
console.log(val);
let url = URL.createObjectURL(val);
downloadUrl(url, 'image.png');
URL.revokeObjectURL(url);
});