2016-09-27 1 views
4

J'utilise window.URL.createObjectURL pour créer un blob: http lien pour afficher un aperçu image sélectionnée dans une balise img:angular2 et window.URL.createObjectURL

<img src=""{{itemPhoto}}"" /> 

itemPhoto est un champ défini dans un composant et obtient affecté lorsqu'un fichier image est sélectionné:

selectPhoto(photos: any[]) { 
    if (photos[0]) { 
     this.itemPhoto = window.URL.createObjectURL(photos[0]); 
    } 
    } 

Cela fonctionne dans angular2 RC1 mais ne fonctionne plus en 2.0.0.

Voici ce qui pénètre dans l'attribut src:

unsafe:blob:http://localhost:5555/xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx 

J'ai essayé ce qui suit après avoir lu quelques autres messages:

this.itemPhoto = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(photos[0])); 

Puis le suivant pénètre dans l'attribut src:

unsafe:SafeValue must use [property]=binding: blob:http://localhost:5555/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxx (see http://g.co/ng/security#xss) 

Des suggestions?

Un grand merci

Mise à jour: OK, je ne comprenais pas vraiment ce message d'erreur dans src: "dangereux: SafeValue doit utiliser [la propriété] = Reliure: ..."

lieu de src={{itemPhoto}}, les travaux suivants:

<img [src]="itemPhoto" /> 

toujours pas pourquoi cependant.

+0

Je n'ai pas le temps de regarder de plus près à votre problème, mais j'eu un problème similaire il y a quelques jours - je fait preuve d'un pdf en utilisant blob: http lien, jetez un oeil à la façon dont j'ai réussi à Faites-le ici, il pourrait vous aider: http://stackoverflow.com/questions/37046133/pdf-blob-is-not-showing-content-angular-2/39657478#39657478 –

+1

Essayez simplement quelle erreur suggère "[src ] = "itemPhoto" ' –

+0

Salut Stefan Je viens de découvrir quel est le problème. Je ne comprends pas vraiment ce message d'erreur dans src: "dangereux: SafeValue doit utiliser [la propriété] = fixation: ..." lieu de src = {{itemPhoto}}, les travaux suivants: Je ne sais toujours pas pourquoi. –

Répondre

5

Vous pouvez simplement essayer quelle erreur essaie de dire. ce qu'il a dit est que vous devez utiliser la liaison property [] au lieu de interpolation {{}} avec l'attribut.

[src]="itemPhoto"