JavaScript Criar e Salvar Arquivo

Harshit Jindal 12 outubro 2023
JavaScript Criar e Salvar Arquivo

Este tutorial ensina como criar e salvar um arquivo em JavaScript.

É fácil criar arquivos e armazená-los no NodeJS do lado do servidor, mas há poucas opções para fazer isso no lado do cliente. Neste tutorial, escrevemos uma função personalizada que nos ajuda a criar arquivos usando dados e depois salvá-los. Em navegadores modernos, temos uma função chamada msSaveOrOpenBlob que nos ajuda a salvar um arquivo. Mas em navegadores mais antigos, primeiro geramos um link para o arquivo e depois o baixamos adicionando o atributo download na tag âncora.

function downloadFiles(data, file_name, file_type) {
  var file = new Blob([data], {type: file_type});
  if (window.navigator.msSaveOrOpenBlob)
    window.navigator.msSaveOrOpenBlob(file, file_name);
  else {
    var a = document.createElement('a'), url = URL.createObjectURL(file);
    a.href = url;
    a.download = file_name;
    document.body.appendChild(a);
    a.click();
    setTimeout(function() {
      document.body.removeChild(a);
      window.URL.revokeObjectURL(url);
    }, 0);
  }
}

Na função acima, verificamos se o navegador tem suporte para msSaveOrOpenBlob e, se encontrado, usamos para salvar o arquivo. Caso contrário, criamos uma tag âncora apontando para o arquivo criado. Adicionamos o atributo de download à tag âncora e anexamos essa tag ao corpo do documento. Usamos JavaScript para clicar nele, o que aciona o download e, dessa forma, salvamos o arquivo. Em seguida, removemos a tag âncora do corpo e revogamos o URL criado.

Harshit Jindal avatar Harshit Jindal avatar

Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.

LinkedIn