JSFiddle - React, Tailwind, and code Playground
HTML
<button onclick="download('http://thumb.mais.uol.com.br/14317945-medium.jpg', 'imagem01.jpg')">Baixar imagem</button>
JavaScript
function download(url, nome) {
var el = document.createElement("a");
el.download = nome; //Define o nome
el.href = url; //Define a url
el.target = "_blank"; //Força abrir em uma nova janela
el.className = "hide-link"; //Adiciona uma classe css pra ocultar
document.body.appendChild(el);
if (el.fireEvent) {
el.fireEvent('onclick');//Simula o click pra navegadores com suporte ao fireEvent
} else {
//Simula o click
var evObj;
evObj = document.createEvent("MouseEvents");
evObj.initEvent("click", true, false);
el.dispatchEvent(evObj);
}
//Remove o link da página
setTimeout(function() { document.body.removeChild(el); }, 100);
}