2017-04-21 7 views
1

사용자가 선택한 항목의 이미지를 표시하려고합니다. 사용자가 항목을 클릭하면 통화가 중단되고 이미지가 검색되지만 표시 할 수 없습니다.Angular2 - REST 호출로 반환 된 이미지 표시

나는 herehere에서 아이디어를 따라 시도했지만 작동시키지 못합니다.

(내 이해) 기본 원리는와 나머지 호출 응답 (가정 무엇을 할) 때 이미지/PNG 형식이 같은 내 TS 내 이미지 소스를 포맷 할 수 있다는 것입니다 :

import {DomSanitizer} from '@angular/platform-browser'; 
constructor(private _DomSanitizationService: DomSanitizer){} 

...

this.showPage = "data:image/png;base64," + rest_response; 

다음이 가능하도록 "DomSanitizer"를 사용하여이 같은 HTML에 사용되는 :

<img [src]="_DomSanitizationService.bypassSecurityTrustUrl(showPage)"> 

하지만 이미지가 고장을 사용하려고하고 나는 그것을 검사 할 때 내가 볼 때

src="data:image/png;base64,�PNG...,㘑��" etc... 

일체의 도움이나이 평가 될 것입니다 이유를 설명.

+0

은 반환하기 전에 이미지를 base64로 인코딩하는 나머지 백엔드입니까? –

답변

1

이 시도 : 간단히

this.showPage = "data:image/png;base64," + rest_response; 

하고,

<img [src]="showPage" /> 

을이 SO question에 대답한다.

+0

이미지가 여전히 손상되었지만 소스 데이터가 "안전하지 않음 :"으로 시작합니다. – gv0000

+0

다른 사용자가 DomSanitizer 대신 DomSanitizationService를 사용한 다음 BROWSER_SANITIZATION_PROVIDERS를 가져 와서 공급자로 나열하는 것을 보았습니다. [More here.] (http://stackoverflow.com/questions/38324762/angular-2-render-byte-from-web-api-as-an-image-src) – shteeven