gpt4 book ai didi

node.js - 如果用户验证失败,在multer中停止文件上传

转载 作者:行者123 更新时间:2023-12-01 08:53:25 27 4
gpt4 key购买 nike

文件上传是由multer使用此代码完成的,但是如何在用户验证失败时停止文件上传。在此代码中编写用户验证部分的位置

router.post('/profilePicture',
multer({dest: './uploads/',
rename: function (fieldname, filename,req,res) {
return image = req.body.userId+'-'+dateTime+'-'+randomId();
},
onFileUploadStart: function (file,req,res) {
if(file.mimetype !== 'image/jpg' && file.mimetype !== 'image/jpeg' && file.mimetype !== 'image/png') {
imageUploadDone = false;
return false;
}
//console.log(file.originalname + ' is starting ...');
},
onFileUploadComplete: function (file,req,res) {
//console.log(file.fieldname + ' uploaded to ' + file.path);
if(file.mimetype == 'image/jpg')
extn = '.jpg';
if(file.mimetype == 'image/jpeg')
extn = '.jpeg';
if(file.mimetype == 'image/png')
extn = '.png';
imageUploadDone=true;
}
}),function(req, res) {
upload(req,res,function(err) {
if(imageUploadDone==true){
//console.log(image);
var userInfo = {'userId':req.body.userId,'newImage':address+image+extn,'path':'./uploads/'};
db.profilePicture(userInfo,function(result){
if(result.message == 'image path added'){
res.json({'success':'1','result':{'message':'Profile Picture Updated','imageUrl':address+image+extn},'error':'No Error'});
}
});
}
if(imageUploadDone == false){
res.json({'success':'0','result':{},'error':'file format is not supported'});
}
});
});

我尝试在 onFileUploadStart 和 onFileUploadComplete 等事件上验证用户。如果用户仍然无效,文件仍会上传到路径。

最佳答案

这现在可以在 1.0.0 中实现。

如果您想中止上传:

multer({
fileFilter: function (req, file, cb) {
if (path.extname(file.originalname) !== '.pdf') {
return cb(new Error('Only pdfs are allowed'))
}

cb(null, true)
}
})

如果要跳过任何非 pdf 文件:
multer({
fileFilter: function (req, file, cb) {
if (path.extname(file.originalname) !== '.pdf') {
return cb(null, false)
}

cb(null, true)
}
})

关于node.js - 如果用户验证失败,在multer中停止文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34828819/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com