文件过滤器功能无法正常运行吗?

时间:2019-09-06 05:29:12

标签: node.js 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'));

1 个答案:

答案 0 :(得分:0)

这是拼写错误。在“ filefilter”中,键“ f”应为大写字母,因此不要使用:

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

使用以下内容:

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