Multer
Multer para upload de arquivos
Instalação:
$ yarn add multer
Cria-se uma pasta tmp/uploads/
para armazenar os uploads da aplicação (fora de src).
Arquivo src/app/config/multer.js
Exemplo da estrutura inicial das configurações do multer:
import multer from 'multer';import crypto from 'crypto';import { extname, resolve } from 'path';export default {storage: multer.diskStorage({destination: resolve(__dirname, '..', '..', 'tmp', 'uploads'),filename: (req, file, cb) => {crypto.randomBytes(16, (err, res) => {if (err) return cb(err);return cb(null, res.toString('hex') + extname(file.originalname));})},}),};
Arquivo src/routes.js
Importar as configurações
import multer from 'multer';import multerConfig from './config/multer';
Definir após const routes
:
const upload = multer(multerConfig);
Rota com upload utilizando o Multer:
routes.post('/files', upload.single('file'), FileController.store);