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

415
Visualizações
Descarga remota con JavaScript con un nombre de archivo personalizado

Tengo una página en mi sitio web que tiene un botón que redirige a una URL que descarga el código fuente del repositorio git para ese sitio web. Aquí está el HTML que tengo hasta ahora:

 <!DOCTYPE html> <html> <body> <p>Would you like to download this website's source code?</p> <button type="button" onclick="window.location.href = 'https://codeload.github.com/SteepAtticStairs/steepatticstairs.github.io/zip/refs/heads/main'">Yes</button> <button type="button" onclick="window.location.href = '/index.html'">No</button> </body> </html>

Sin embargo, esto descarga un archivo con el nombre steepatticstairs.github.io-main.zip . Tengo un script bash que escribí:

 #!/bin/bash url=https://codeload.github.com/SteepAtticStairs/steepatticstairs.github.io/zip/refs/heads/main now="$(date '+%m.%d.%Y')" cd ~/Downloads wget -O "steepatticstairs.github.io_${now}.zip" $url

Lo que descarga el archivo con un nombre como steepatticstairs.github.io_03.09.2022.zip . Este es el nombre que quiero, con la fecha al final.

¿Hay alguna manera de que pueda replicar esto en JavaScript, tal vez usando jQuery, donde podría hacer clic en el botón Yes y descargaría el archivo desde la URL, pero cambiaría el nombre antes de descargarlo? Si alguien puede mostrarme rápidamente cómo obtener la fecha en el nombre del archivo en JavaScript, sería increíble, pero podría resolverlo. Solo quiero saber cómo cambiar el nombre del archivo antes de descargarlo.

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

0

debido a que el ajax entre dominios será bloqueado por la política CORS, necesita que el servidor envíe la solicitud por proxy y modifique la disposición de contenido en el encabezado de respuesta, por ejemplo: Content-Disposition:attachment;filename= ${filename}.zip

puedes usar ajax para descargar el archivo:

 const xhr = new XMLHttpRequest(); xhr.responseType = "blob"; xhr.addEventListener('load', () => { if (xhr.status === 200) { const a = document.createElement('a'); const url = window.URL.createObjectURL(xhr.response); a.href = url; a.download = '${filename}.zip'; a.click() window.URL.revokeObjectURL(url); } }); // if need progress bar can listen progress event // xhr.addEventListener('progress', e => console.log(e.loaded/e.total)) xhr.open('GET', '${url}') xhr.send()
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