Estoy tratando de usar el visor de pdf ng2 para renderizar un blob que ya está guardado en la memoria, pero sigo recibiendo un error 403 cuando intento renderizar el pdf a pesar de que el archivo está disponible en la memoria en una variable (también tengo un botón de descarga que usa la misma variable para descargar el archivo localmente y funciona bien).
Este error solo ocurre en nuestro servidor de desarrollo. Cuando ejecuto mi aplicación en localhost, todos funcionan perfectamente bien.
Después de hacer algunas pruebas, parece que descubrí que el módulo del visor de pdf hace otra llamada de backend para representar el PDF, a pesar de que me refiero a una variable que contiene el archivo, y esta segunda llamada es la que causa el error 403. es posible?
La cadena de eventos parece ser:
Mi método mecanografiado es el siguiente:
downloadFile(observable: Observable<any>) { observable.subscribe((document: any) => { console.log(document) this.file = document; console.log(this.file) if (!this.isFilePdF()) { this.isLoading = false; } }) }Y mi HTML es:
<pdf-viewer (error)="logError($event)" [zoom]="zoomRatio" [hidden]="isLoading" *ngIf="isFilePdF()" (after-load-complete)="finishLoading($event)" [(page)]="currentPage" [src]="file" [original-size]="false" [class.height]="!isLoading" style=" width: 100%; background-color:whitesmoke"> </pdf-viewer> Una captura de pantalla de mi error: 
Como ves, la primera descarga descarga el archivo perfectamente bien y lo guarda en el parámetro. La segunda descarga está causando el error, y no tengo idea de por qué ocurre la segunda descarga, ya que no hice nada en mi código.
Si hay una manera de usar la variable blob de la primera descarga y no hacer que suceda la segunda, estoy seguro de que mi problema se resolvería.
¿Alguien sabe cómo solucionar el problema que tengo?
Estaba usando la última versión ng2-pdf-viewer y el visor de PDF no funcionaba correctamente.
Luego tuve que descargar la versión ng2-pdf-viewer@^6.2.0 con sus dependencias versión pdfjs-dist@^2.5.207 y tslib@^2.0.0 y luego funcionó bien. Asegúrese de que la versión de las dependencias sea correcta.
Encontré algunas referencias aquí .