Как получить картинку из ответа который приходит с бэкенда Angular

Рейтинг: 0Ответов: 1Опубликовано: 24.03.2023

мне приходит вот такой ответ от сервера и мне нужно как то засунуть этот ответ в переменную для того чтобы вставить эту картинку на странице. но у меня это не получается. Вот пример моего кода для получения картинки

> this._service.getLkPartnerLogo().pipe(tap((data:any) => this.logo =
> data)).subscribe( () => {
>       localStorage.setItem('toL7logo', this.logo);
>       this.logo = localStorage.getItem('toL7logo')
>     });

введите сюда описание изображения

я пытался найти ответ в интернете, но это не помогло. Мне либо выводится size:...; type:... либо я получаю в localStorage ответ в виде '[Blob object]'

введите сюда описание изображения

Ответы

▲ 0

Такое реализуется с помощью DOMSanitizer

import { DomSanitizer, SafeUrl } from '@angular/platform-browser';

@Component({
 ...
})
export class AppComponent implements OnInit {
  constructor(private sanitizer: DomSanitizer) {  }

  loadImage():Observable<Blob> {
      this._service.getLkPartnerLogo().pipe(tap((data:any) => this.logo =
 data)).subscribe( () => {
       localStorage.setItem('toL7logo', this.logo);
       // С помощью DomSanitizer преобразовать изображение в url
       this.logo = this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(this.image))
     });
    });
  }
}
<img [src]="logo">