Node.js

Como fazer download de arquivo com Node.js

21 de dezembro de 2021

Como fazer download de arquivo com Node.js

Neste artigo você vai aprender a como fazer download de arquivo com Node.js, sem utilizar bibliotecas externas e de maneira simples

download de arquivo com Node capa

Fala programador(a), beleza? Bora aprender mais sobre download de arquivos e Node!

O módulo fs é responsável por trabalhar com arquivos, ou seja, vamos utilizá-lo para criar o arquivo que será feito o download no nosso sistema

E o módulo http servirá para o download, pegar o arquivo de um origem e trazer até o nosso servidor

Utilizaremos métodos destes dois módulos

Veja o código de exemplo completo:

const http = require('http');
const fs = require('fs');

const download = function(url, dest, cb) {

  const file = fs.createWriteStream(dest);
  
  http.get(url, function(response) {
    response.pipe(file);
    file.on('finish', function() {
      file.close(cb);
    });
  });
  
}

Primeiramente chamamos os módulos http e fs

O segundo passo foi criar uma função, que poderá ser reaproveitada ao longo do seu código

Temos alguns parâmetros para ela:

  • url: URL que o arquivo está;
  • dest: Onde o arquivo deve ficar no nosso sistema;
  • cb: Uma possível callback para quando o arquivo é fechado, quando a operação é encerrada;

Desta maneira conseguimos realizar o download de um arquivo com o Node 🙂

Conclusão

Neste artigo você aprendeu a como realizar um download de arquivo com Node

Utilizamos os módulos http e fs, para baixar e criar o arquivo no nosso sistema, respectivamente

Criamos uma função para isso, ou seja, estamos prezando pelo reaproveitamento do código

Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias!

Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!

Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias

O link acima contém um cupom de desconto para os cursos!
Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x