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"