// Set The Storage Engine const storage = multer.diskStorage({ destination: './public/uploads/', filename: (req, file, cb) => { cb(null, file.fieldname + '-' + Date.now() + path.extname(file.originalname)); } }); // Init Upload const upload = multer({ storage: storage, limits: { fileSize: 1024 * 1024 }, fileFilter: (req, file, cb) => { checkFileType(file, cb); } }).single('image'); // Check File Type const checkFileType = (file, cb) => { // Allowed extensions const filetypes = /jpeg|jpg|png|gif/; // Check extension const extname = filetypes.test(path.extname(file.originalname).toLowerCase()); // Check mime type const mimetype = filetypes.test(file.mimetype); if (mimetype && extname) { return cb(null, true); } else { cb('Error: Images Only!'); } };