2017-12-04 60 views
1

こんにちは、これは私をナッツ運転しています。私はオンラインで見つけることができたすべての修正を試しましたが、何も動かないようです。SafeValueは[プロパティ] =バインディングを使用する必要がありますが、ITは

私はこのように、base64でエンコードされた画像を返すDBからbase64で画像情報をロードしています:

/9j/4AAQSkZJRgABAQEBLAEsAAD/4UHuRXhpZgAATU0AKgAAAAgABgEaAAUAAAABAAAAVgEbAAUAAAABAAAAXgEoAAMAAAABAAIAAAITAAMAAAABAAEAAIdpAAQAAAABAAAIcuocAAcAAAgMAAAAZgAAEOQAAAEsAAAAAQAAASwAAAABHOoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... 

その後、私のTSファイルで、私は次の関数を持っている:

photo_url(data:string){ 

    this.user_photo = this.domSanitizer.bypassSecurityTrustResourceUrl('data:image/jpeg;base64,' + data).toString(); 

} 

私のHTMLファイルは次のようになります:

<img [src]="user_photo ? user_photo : 'assets/img/default.png'"> 

しかし、私は次のエラーとthを取得していますプロパティバインディングを使用しています

WARNING: sanitizing unsafe URL value SafeValue must use [property]=binding: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/4UHuRXhpZgAATU0AKgAAAAgABgEaAAUAAAABAAAAVgEbAAUAAAABAAAAXgEoAAMAAAABAAIAAAITAAMAAAABAAEAAIdpAAQAAAABAAAIcuocAAcAAAgMAAAAZgAAEOQAAAEsAAAAAQAAASwAAAABHOoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... 

エラーが消毒剤がすべきと言い、それがあるが、それはまだそのエラーを示していると画像は表示されません:Eの画像が表示されていません。

ここに何か不足していますか?

ありがとうございます!

答えて

2

.toStringを使用する場合は、必要に応じてSafeResourceUrlの代わりにuser_photoを文字列に設定します。

実際には.toString()を削除するだけで、正しく動作します。そうしないと、DomSanitizerの作業を元に戻すだけです。

user_photo: SafeResourceUrl; 
photo_url(data: string){ 
    this.user_photo = this.domSanitizer.bypassSecurityTrustResourceUrl(
     'data:image/jpeg;base64,' + data); 
} 
+0

これはトリックでした。素晴らしいです、ありがとう! –

関連する問題