Я использую angular -pdf-viewer. У него есть привязка свойства "sr c", которая отображает .pdf в этом месте.
<pdf-viewer [src]="src" [autoresize]="true" [original-size]="false"></pdf-viewer>
У меня также есть директива, которую я использую для тегов img. Эта директива отправляется на сервер Node.js, захватывает изображение и превращает его в большой двоичный объект, используя URL.createObjectURL(response.body);
. С изображениями я могу использовать эту директиву для обновления sr c изображения с помощью делать:
<img [directiveSrc]="src"/>
Где моя директива выглядит примерно так (псевдокод):
@Directive({
selector: '[directiveSrc]'
})
export class DirectiveSrc {
constructor(private readonly httpClient: HttpClient, private el: ElementRef) {}
@Input('directiveSrc')
url(url: string) {
// ...
let response = this.httpClient.get(url, ...);
let img = URL.createObjectURL(response.body);
this.el.nativeElement.src = img;
// ...
}
}
Для тегов img это получает файл изображения с сервера (который должен пройти в заголовках для проверки токена, et c.), затем устанавливает элемент img элемента в новый blob, полученный просто, вызывая this.el.nativeElement.src = ...
.
Однако, когда я пытаюсь сделать это в pdf-viewer <pdf-viewer [directiveSrc]="src" .../>
, это не меняет фактический sr c компонента, и я не могу использовать инструменты разработчика для изменения исходного местоположения файла PDF для тестирования.
Есть ли способ установить привязку pdf-viewer [src] в директиве?