así que tengo una página web con un elemento similar al siguiente
<a href="docs/some_file.xlsx" download="some_file.xlsx" class="btn btn-primary">Download!</a>Ahora me gustaría enviar un hipervínculo a algunos clientes por correo electrónico para que puedan acceder a la página web y al mismo tiempo descargar el archivo sin que tengan que hacer clic en él. De esa manera obtienen el archivo y me aseguro de que vean la página web donde hay mucha más información.
Hasta ahora, pensé en hacer clic con el botón derecho y copiar el enlace al botón directamente desde el navegador, pero ese hipervínculo simplemente descarga el archivo si hago clic en él desde un correo electrónico y quiero que el navegador aparezca y muestre la página de inicio donde está el botón y información es. ¿Alguna idea?
Por cierto, la página web es completamente estática, por lo que no se ejecuta php. Solo se puede usar HTML y javascript para configurar la página web
Lo que podría hacer: configurar un determinado parámetro, por ejemplo: https://example.com/?autodownload=1
luego agregue una pieza de javascript que inmediatamente o después de un tiempo de espera descargue automáticamente el archivo. Algo como:
document.addEventListener("DOMContentLoaded", function(event) { if (window.location.href.indexOf("autodownload") > -1) setTimeout(function(){ window.open("https://example.com/docs/some_file.xlsx"); }, 3000); //your timeout in miliseconds } });por supuesto, esta solución no funcionará si el navegador bloquea la apertura de nuevas ventanas. La segunda posibilidad con este enfoque es reemplazar la función window.open con un clic en el ancla.
Puede activar la descarga de un archivo con JavaScript activando click() en una etiqueta <a> con el atributo de download . Algo como esto:
const $link = document.createElement('a'); $link.href = 'docs/some_file.xlsx'; $link.download = 'some_file.xlsx'; $link.click();Tenga en cuenta, sin embargo, que los navegadores pueden intentar limitar las descargas automáticas de archivos para evitar que los sitios hagan cosas poco fiables. He visto esto en particular cuando un sitio intenta descargar varios archivos, así que creo que estará bien simplemente descargando un solo archivo.
En general, la mejor manera de evitar esto es asegurarse de que solo realice esta acción en respuesta a la entrada del usuario, como un clic, pero eso no parece funcionar para la solución que está buscando aquí.
Cómo agregar automáticamente un enlace de descarga en HTML
Es muy fácil hacer un enlace de descarga automática en HTML
Y les mostraré cómo hacer un enlace automático en HTML (en 5 pasos)
Abra su aplicación de editor de código, ¿dónde está haciendo códigos y cree un documento HTML?
Una vez que cree un documento HTML en su aplicación de editor de código, ahora agregue la etiqueta y el atributo Href en sus documentos HTML
Después de agregar la etiqueta y el atributo Href en sus documentos HTML, ahora proporcione la ubicación del archivo o carpeta en su atributo Href
Después de agregar la ubicación del archivo o la carpeta en su atributo Href, ahora agregue el atributo de descarga en su etiqueta
Después de agregar el atributo de descarga en su etiqueta, ahora guarde el archivo HTML y verifique el enlace de descarga
Por ejemplo
<a href="images.png/cat.png" download>Download</a>también puedes ver este video