O Node.js, em conjunto com o framework Express, oferece uma maneira eficiente de lidar com o upload de arquivos. Neste guia, exploraremos como criar uma aplicação simples para realizar o upload de arquivos usando Node.js e Express.
1. Configuração do Projeto:
Certifique-se de ter o Node.js instalado em seu sistema. Inicie um novo projeto Node.js e instale as dependências necessárias:
npm init -y
npm install express multer
2. Configuração do Express:
Crie um arquivo app.js para configurar o Express e lidar com as rotas.
// app.js
const express = require('express');
const multer = require('multer');
const app = express();
// Configuração do Multer para lidar com uploads
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/');
},
filename: function (req, file, cb) {
cb(null, Date.now() + '-' + file.originalname);
}
});
const upload = multer({ storage: storage });
// Rota para exibir formulário de upload
app.get('/', (req, res) => {
res.sendFile(__dirname + '/index.html');
});
// Rota para processar o upload
app.post('/upload', upload.single('arquivo'), (req, res) => {
res.send('Arquivo enviado com sucesso!');
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Servidor rodando na porta ${PORT}`);
});
3. Formulário HTML para Upload:
Crie um arquivo index.html para o formulário de upload.
<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Upload de Arquivos</title>
</head>
<body>
<h1>Upload de Arquivos</h1>
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="arquivo">
<button type="submit">Enviar</button>
</form>
</body>
</html>
4. Configuração do Multer:
O Multer é uma biblioteca popular para lidar com uploads em Node.js. Certifique-se de configurar o destino e o nome do arquivo no objeto storage ao utilizar o Multer.
5. Rota para Processar o Upload:
A rota /upload no Express utiliza o middleware do Multer para processar o upload do arquivo. O arquivo será salvo no diretório uploads/ com um nome único.
6. Executando o Projeto:
Inicie o servidor Node.js:
node app.js
Visite http://localhost:3000 no seu navegador e teste o formulário de upload.
Conclusão:
Com este guia, você aprendeu a configurar um aplicativo Node.js e Express para lidar com o upload de arquivos. Essa é uma implementação básica, e você pode expandir essa funcionalidade de acordo com os requisitos específicos do seu projeto. Lembre-se de considerar questões de segurança ao permitir uploads de usuários em ambientes de produção.