Angular 4 Небезопасное значение, используемое в URL ресурса - PullRequest
0 голосов
/ 16 мая 2018

У меня есть следующий код для отображения файла PDF.

constructor(private sanitizer: DomSanitizer)
    {
        sanitizer.bypassSecurityTrustResoureUrl('./uploads/{file.filename}}');
    } 

<object data="./uploads/{{file.filename}}" type="application/pdf"></object>

При этом я получаю сообщение об ошибке

Error: unsafe value used in a Resource URL Context

Я просмотрел здесь другие посты и реализовал решение для обхода конструктора, все еще с той же ошибкой. Кто-нибудь знает, как это исправить? Спасибо

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

Вам просто нужно использовать SafeResourceUrl в атрибуте данных. Этот метод должен работать:

Добавьте метод к вашему компоненту:

getSafeUrl(fileName) {
        return this.sanitizer.bypassSecurityTrustResourceUrl("./uploads/" + fileName);
    }

И измени свой HTML:

<object [data]="getSafeUrl(file.fileName)" type="application/pdf"></object>

Так что вы можете удалить свой код в конструкторе.

0 голосов
/ 16 мая 2018

Это работает для вас.?

public url: any;

constructor(private sanitizer: DomSanitizer)
    {
        this.url = './uploads/{file.filename}}';
        sanitizer.bypassSecurityTrustResoureUrl(this.url);
    } 

<object data="url" type="application/pdf"></object>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...