Subí 2 archivos que provienen del mismo formulario. Quería verificar mimetype, el primero debe ser 'image/png' y el segundo debe ser 'video/mp4'. Si el primer archivo no es png y el segundo no es mp4, mi error funciona correctamente. Mi problema es si el primer mimetype no es verdadero, pero el segundo archivo mimetype es verdadero, el segundo archivo se carga en la carpeta. Quiero bloquear 2 archivos incluso si uno de ellos tiene un tipo MIME diferente. Mi código:
app.use( multer({ storage: storage, fileFilter: function (req, file, cb) { if (file.fieldname=='first') { if(file.mimetype !== 'image/png'){ return cb(null, false, new Error('wrong')); } } if (file.fieldname=='second') { if(file.mimetype !== 'video/mp4'){ return cb(null, false, new Error('wrong')); } } cb(null, true); } }).fields([ { name: 'first', maxCount: 1 }, { name: 'second', maxCount: 1 } ]), );