Pregunta simple, creo.
Tengo un botón html: <button type="button" class="btn btn-success">Download</button> .
Al hacer clic, tengo que iniciar la descarga de un archivo ubicado en la misma carpeta que el proyecto. Nunca he usado nada para descargar un archivo, así que no tengo idea de cómo hacerlo y tampoco entiendo de otra pregunta. ¿Alguien podría decirme cómo hacerlo explicando por qué tengo que hacerlo de cierta manera? Todo esto debería ser preferible en jquery, pero incluso js básico está bien. Gracias.
usar <a> hace el trabajo sin involucrar javascript
<a href="./file-path/file-name" class="btn btn-success" download>Download</a> El atributo de download forzará la descarga del contenido visible. De lo contrario, se renderizará en lugar de descargarse.
De hecho, debería hacer el trabajo por usted. Para comprender mejor la funcionalidad, piense en la siguiente función
function DownloadUsingAnchorElement(fileUrl, fileName) { const anchor = document.createElement("a"); anchor.href = fileUrl; anchor.download = fileName; document.body.appendChild(anchor); anchor.click(); document.body.removeChild(anchor); }Consulte también: https://www.w3schools.com/tags/att_a_download.asp
document.querySelector('button').addEventListener('click', () => { const link = document.createElement('a') link.setAttribute('download', 'filename') link.setAttribute('href', './path-to-file/filename.ext') link.click() })