Estoy tratando de descargar un archivo haciendo clic en un enlace. Pero cada vez, si es algo que Chrome puede abrir (como una imagen) en lugar de descargar el archivo, lo abre en la nueva pestaña. ¿Qué debo hacer para evitar que abra el archivo y lo descargue? Aquí está mi código
const downloadElement = document.createElement('a'); downloadElement.href = data; downloadElement.target = '_blank'; downloadElement.download = data.split('/').pop(); document.body.appendChild(downloadElement); downloadElement.click(); document.body.removeChild(downloadElement);No es necesario agregar una etiqueta de enlace en la etiqueta del cuerpo. Pruebe el siguiente código, funciona para mí.
En data , debe pasar el código base64. de lo contrario, se abre en una nueva pestaña.
const downloadElement = document.createElement('a'); downloadElement.download = data.split('/').pop(); downloadElement.href = data; downloadElement.click();