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

304
Visualizações
¿Por qué el archivo local se muestra dañado después de descargarlo usando javascript?

Buenas tardes,
Escenario: tengo un archivo pdf en el sistema local y cuando el usuario hace clic en el botón, quiero que se descargue. Pero después de descargar el archivo al abrir, se muestra dañado. Al publicar esta consulta, noté que el archivo que se está descargando es de 1 KB y el tamaño del archivo original es de 28 KB. no entendí porque?
Estoy creando el archivo de Excel en el backend y guardándolo en la ubicación del usuario, ya que, debido a la gran cantidad de datos, lleva mucho tiempo, por lo que una vez que se crea el archivo, el usuario puede descargarlo.

A continuación se muestran los códigos de JS.

 function download() { var filename="output.pdf"; var element = document.createElement('a'); var fileloc="C:\\ebooks\\PDF\\abc.pdf"; element.setAttribute('href','data:text/plain;charset=utf-8, ' + encodeURIComponent(fileloc)); element.setAttribute('download', filename); document.body.appendChild(element); element.click(); }

El archivo original es bueno. Por favor, corrígeme qué estoy haciendo mal.

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

La URL del esquema data: que está creando se resuelve en un documento de texto sin formato (no un PDF) que contiene el texto C:\ebooks\PDF\abc.pdf .

Está guardando este archivo con una extensión .pdf , por lo que cuando intenta abrirlo, su lector de PDF intenta leerlo como PDF (que no lo es).

Si desea guardar el contenido del archivo en la ruta que especificó, debe:

Haga que el usuario seleccione el archivo usando un <input type="file"> (porque JS no tiene permitido el acceso a los archivos en el disco del usuario a menos que los seleccione explícitamente y genere la URL usando el método FileReader.readAsDataURL() .


Si está creando el archivo en el servidor, como dijo, entonces no hay necesidad de construir una URL de esquema de data: , solo puede usar la URL de esquema https: que apunta al archivo en el servidor.

about 4 years ago · Santiago Trujillo 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