angular2 и window.URL.createObjectURL

Я использую window.URL.createObjectURL для создания ссылки blob: http для предварительного просмотра выбранного изображения в теге img:

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

itemPhoto - это поле, определенное в компоненте и назначаемое при выборе файла изображения:

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

Это работает в angular2 RC1, но больше не работает в 2.0.0.

Вот что попадает в атрибут src:

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

Я попробовал следующее после прочтения некоторых других сообщений:

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

Затем в атрибут src попадает следующее:

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

Какие-либо предложения?

Большое спасибо

Обновление: ОК, я не совсем понял, что сообщение об ошибке внутри src: "unsafe:SafeValue должен использовать [property]=binding:..."

Вместо src={{itemPhoto}}, следующие работы:

<img [src]="itemPhoto" />

Все еще не уверен, почему, хотя.

1 ответ

Вы могли бы просто попробовать, какую ошибку пытается сказать. что он сказал, что вы должны использовать property [] привязка вместо interpolation {{}} с атрибутом.

[src]="itemPhoto"
Другие вопросы по тегам