Upload de arquivos com Multer em NodeJS

Capítulo 121

Tempo estimado de leitura: 4 minutos

+ Exercício
Audio Icon

Ouça em áudio

0:00 / 0:00

Uma das características mais importantes em muitas aplicações web modernas é a capacidade de fazer upload de arquivos. Seja para permitir que os usuários compartilhem imagens, enviem documentos ou forneçam outros tipos de arquivos, o upload de arquivos é uma característica fundamental para muitos projetos. No capítulo 20 do nosso e-book, vamos explorar como implementar essa funcionalidade em NodeJS usando a biblioteca Multer.

O Multer é um middleware para o Express e Node.js que facilita o manuseio de dados multipart/form-data, que é usado para o upload de arquivos. Ele é eficiente e fácil de usar, tornando-o a escolha perfeita para essa tarefa.

Instalação do Multer

Para começar, precisamos instalar o Multer no nosso projeto. Isso pode ser feito usando o npm (Node Package Manager), que é a maneira padrão de instalar bibliotecas e pacotes em NodeJS. Abra o terminal na pasta do seu projeto e digite o seguinte comando:


npm install --save multer

Isso instalará o Multer e o adicionará como uma dependência no seu arquivo package.json.

Configuração do Multer

Depois de instalado, precisamos configurar o Multer. Primeiro, vamos importá-lo no nosso arquivo:

Continue em nosso aplicativo e ...
  • Ouça o áudio com a tela desligada
  • Ganhe Certificado após a conclusão
  • + de 5000 cursos para você explorar!
ou continue lendo abaixo...
Download App

Baixar o aplicativo


const multer = require('multer');

Depois, precisamos configurar onde os arquivos carregados serão armazenados. Isso é feito criando uma instância do multer e passando um objeto de configuração para ele. Aqui está um exemplo:


const upload = multer({ dest: 'uploads/' });

No exemplo acima, estamos dizendo ao Multer para armazenar os arquivos carregados na pasta 'uploads' do nosso projeto.

Upload de arquivos

Com o Multer configurado, estamos prontos para começar a aceitar uploads de arquivos. Para fazer isso, precisamos adicionar o middleware do Multer às rotas onde queremos aceitar uploads.

Por exemplo, se tivermos uma rota POST para '/upload', poderíamos fazer algo assim:


app.post('/upload', upload.single('file'), (req, res) => {
  res.send('Arquivo carregado com sucesso!');
});

No exemplo acima, 'file' é o nome do campo no formulário de upload de arquivos. O método 'upload.single' diz ao Multer para aceitar um único arquivo do campo 'file'. Quando um arquivo é carregado, ele é armazenado no destino que configuramos e o objeto de solicitação é modificado para incluir um objeto de arquivo contendo informações sobre o arquivo carregado.

Manuseio de erros

É importante lidar com os possíveis erros que podem ocorrer durante o upload de arquivos. O Multer adiciona um erro à solicitação se algo der errado. Podemos verificar isso e responder adequadamente:


app.post('/upload', upload.single('file'), (req, res) => {
  if (req.fileValidationError) {
    return res.status(400).send(req.fileValidationError);
  }
  res.send('Arquivo carregado com sucesso!');
});

No exemplo acima, se houver um erro de validação de arquivo, nós o enviamos de volta na resposta com um status 400. Caso contrário, enviamos uma mensagem de sucesso.

Conclusão

Essa é apenas a ponta do iceberg quando se trata de upload de arquivos em NodeJS com o Multer. Existem muitas outras opções e recursos que você pode explorar, como limitar o tamanho dos arquivos carregados, aceitar vários arquivos de uma vez e muito mais. No entanto, com o que aprendemos neste capítulo, você já tem uma base sólida para começar a aceitar uploads de arquivos em suas aplicações NodeJS.

Agora que você sabe como fazer o upload de arquivos em NodeJS usando o Multer, está pronto para adicionar essa funcionalidade importante aos seus projetos. Lembre-se de sempre testar cuidadosamente o seu código e lidar com possíveis erros para garantir que os usuários tenham uma experiência suave e sem problemas.

Agora responda o exercício sobre o conteúdo:

Qual é a função da biblioteca Multer em aplicações NodeJS?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

A biblioteca Multer em aplicações NodeJS é usada para facilitar o manuseio de dados multipart/form-data, que é necessário para o upload de arquivos. Ela é um middleware eficiente e fácil de usar, amplamente adotado para essa tarefa em projetos NodeJS.

Próximo capitúlo

Introdução ao Socket.IO

Arrow Right Icon
Capa do Ebook gratuito Como criar APIs em NodeJS do básico ao avançado
81%

Como criar APIs em NodeJS do básico ao avançado

Novo curso

149 páginas

Baixe o app para ganhar Certificação grátis e ouvir os cursos em background, mesmo com a tela desligada.