2016-09-27 2 views
4

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

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

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

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

Это работает в угловом2 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) 

Любые предложения?

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

Обновление: Хорошо, я не очень понимаю, что сообщение об ошибке внутри ЦСИ: "небезопасным: SafeValue должны использовать [свойство] = Переплет: ..."

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

<img [src]="itemPhoto" /> 

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

+0

У меня нет времени, чтобы более внимательно взглянуть на вашу проблему, но у меня была аналогичная проблема, несколько дней назад - я показал в формате PDF с использованием блоб: HTTP ссылку, посмотрите на то, как мне удалось сделайте это здесь, это может помочь вам: http://stackoverflow.com/questions/37046133/pdf-blob-is-not-showing-content-angular-2/39657478#39657478 –

+1

Просто попробуйте, какая ошибка указывает на '[src ] = "itemPhoto" ' –

+0

Привет, Стефан, я только что выяснил, в чем проблема. Я не очень понимаю, что сообщение об ошибке в ЦСИ: "небезопасным: SafeValue должны использовать [свойство] = связывание: ..." Вместо SRC = {{itemPhoto}}, следующие работы: Тем не менее, я не знаю, почему. –

ответ

5

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

[src]="itemPhoto" 
Смежные вопросы