2017-04-21 39 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

我見過其他人使用DomSanitizationService而不是DomSanitizer,然後導入BROWSER_SANITIZATION_PROVIDERS並將其列爲提供者。 [更多這裏。](http://stackoverflow.com/questions/38324762/angular-2-render-byte-from-web-api-as-an-image-src) – shteeven