文件过滤功能在 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'));
我正在使用 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'));