Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

328
Visualizações
Problema de ng2-pdf-viewer: 403 al renderizar el pdf, incluso si el archivo ya está almacenado en la memoria

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 pdf se carga a través de una llamada al backend, en la suscripción pongo el pdf blob en una variable de archivo
  • el componente del visor de pdf se vuelve visible ya que ng-if se establece en verdadero
  • Parece que mi backend recibe una segunda llamada a pesar de que la propiedad HTML src hace referencia a través de un blob en memoria. ¿Es este comportamiento normal o estoy mintiendo lo que está sucediendo? ¿Se puede evitar esto? Estoy bastante seguro de que esto es lo que está causando mi problema.

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.

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?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

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í .

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda