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

456
Visualizações
¿Cómo descargar PDF automáticamente al hacer clic en lugar de abrirlo en una nueva pestaña usando js?

Tengo una URL de entrada con la que quiero descargar el archivo pdf directamente sin verlo en una pestaña nueva o en la misma pestaña. He intentado seguir las cosas hasta ahora, pero nada ayuda. Primero probé con esto

 http.success(function (data) { var link = document.createElement('a'); link.href = data.results[0].value.url; link.download = data.results[0].value.url.substr(data.results[0].value.url.lastIndexOf('/') + 1); link.click(); document.body.appendChild(link); setTimeout(function () { document.body.removeChild(link); }, 100); }.bind(this));

Este script no está descargando el archivo. Abre el archivo en la misma pestaña. He intentado todas las respuestas en estas preguntas respondidas previamente. Pero nada funcionó para mí. ¿Cómo puedo descargar un pdf desde una url usando javascript? ¿Cómo descargar PDF automáticamente usando js? Descargar pdf sin abrir en el navegador

Luego probé con este Blob . Agregué el blob a mi script y luego lo intenté nuevamente.

 http.success(function (data) { var blob=new Blob([data.results[0].value.url],{ type: "application/pdf" }); var link = document.createElement('a'); link.href = window.URL.createObjectURL(blob); link.download = data.results[0].value.url.substr(data.results[0].value.url.lastIndexOf('/') + 1); link.click(); document.body.appendChild(link); setTimeout(function () { document.body.removeChild(link); }, 100); }.bind(this));

Pero esta vez descarga el archivo. Pero no puedo abrirlo. El archivo descargado está dañado. Han intentado las respuestas en estas preguntas. Pero nada funcionó para mí. El PDF está dañado después de reconstruirlo usando URL.createObjectURLProblema al descargar un blob en PDF en JavaScript El blob del búfer devuelve un pdf dañado

avíseme si hay otras formas de descargar el archivo pdf directamente. Gracias por adelantado.

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

0

¿Qué se almacena en data.results[0].value.url?

¿Es solo un enlace al PDF? Si ese es el caso, primero deberá buscar el documento pdf.

Prueba esto

 http.success(function (data) { fetch(data.results[0].value.url) .then((response) => response.arrayBuffer()) .then((pdfFile) => { const blob = new Blob([pdfFile], { type: "application/pdf" }); const anchor = document.createElement("a"); anchor.href = window.URL.createObjectURL(blob); anchor.download = "SOME FILENAME.PDF"; // some browser needs the anchor to be in the doc document.body.append(anchor); anchor.click(); anchor.remove(); // in case the Blob uses a lot of memory window.addEventListener( "focus", () => { URL.revokeObjectURL(anchor.href); }, { once: true, } ) }); })
about 4 years ago · Juan Pablo Isaza Relatório

0

Primero, recomendaría probar el ejemplo más simple.

 const pdfLink = data.results[0].value.url const download = (url) => { const link = document.createElement('a'); link.setAttribute('download', 'fileName.pdf'); link.setAttribute('href', url); link.click(); } downloadBlob = (blob) => download(URL.createObjectURL(blob)) fetch(pdfLink) .then(response => response.blob()) .then(downloadBlob)
about 4 years ago · Juan Pablo Isaza Relatório

0

Les comparto un trozo de código usando MUI + JS

 <IconButton variant="contained" sx={{ fontSize: '1rem', fontWeight: 'normal', color:'silver', }} component='label' size={'small'} onClick={() => { const url = 'https:.....' fetch(url) .then((res) => { return res.blob(); }) .then((data) => { const a = document.createElement("a") a.href = window.URL.createObjectURL(data) a.download = formValues[id] a.click() }); }}> <VisibilityIcon /> </IconButton>
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