2017-04-21 8 views
1

ユーザが選択したアイテムの画像を表示したい。ユーザーがアイテムをクリックすると、残りの呼び出しが行われ、イメージが取得されますが、表示できません。Angular2 - RESTコールで返された画像の表示

私はherehereのアイデアを試してみましたが、うまく動作していないようです。

(私の理解への)基本原理が持つとき、残りの通話応答(ことになっているもの)私はこのような私のTSで私の映像ソースをフォーマットすることができ、画像/ PNG形式のタイプということである。

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

...

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

このようなHTMLで使用するために、これを有効にするには、 "DomSanitizer" を使用します。

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

私はイメージが壊れている、それを使用しようと、私はそれを調べるときに私が見たときに:

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

任意およびすべてのヘルプや、これが認識されるであろう理由を説明。

+0

は、あなたの残りのバックエンドで、イメージを返す前にbase64にエンコードしていますか? –

答えて

1

このお試しください:このSO questionに答えたよう

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

と、単に、

<img [src]="showPage" /> 

を。

+0

イメージはまだ破損していますが、ソースデータは「安全ではありません」から始まります。 – gv0000

+0

他の人がDomSanitizerの代わりにDomSanitizationServiceを使用していて、BROWSER_SANITIZATION_PROVIDERSをインポートしてプロバイダとしてリストしています。 [詳細はこちら](http://stackoverflow.com/questions/38324762/angular-2-render-byte-from-web-api-as-an-image-src) – shteeven

関連する問題