文件过滤功能在 multer 中不起作用?

file filter function is not working in multer?

我正在使用 multer.fileFilter 功能上传单个文件无效,它甚至没有被 multer.Multer 调用 不关心文件扩展名是否被允许并上传所有文件。 前端的每件事都是正确的(multipart/form-data,输入字段的名称是 image)。这是我的代码

这是文件过滤器函数:

const filefilter = (req, file, cb) =>{
    console.log('filefilter executed');
    if (
         file.mimetype === 'image/png' || 
         file.mimetype === 'image/jpg' || 
         file.mimetype === 'image/jpeg'
    ) {
        cb(null, true);
        console.log('image type correct');
    }else {
        console.log('image type incorrect');
        cb('error Message', false);
    }
}

下面是我在 multer 中的使用方式:

app.use(multer({storage : fileStorage, filefilter: filefilter }).single('image'));

这是拼写错误。在“filefilter”中,key 'f' 应该是大写的,所以不要使用:

app.use(multer({storage: fileStorage, filefilter: filefilter}).single('image'));

使用以下内容:

app.use(multer({storage: fileStorage, fileFilter: filefilter}).single('image'));