我正在使用multer上传rar和zip文件到cloudinary,我上传pdf它工作正常,但我想只允许zip和rar。
这是我的代码:
var storage = multer.diskStorage({
filename: function(req, file, callback) {
callback(null, curDate + file.originalname);
}
});
var DocFilter = function (req, file, cb) {
// accept image files only
if (!file.originalname.match(/\.(pdf||doc|docx)$/i)) {
return cb(new Error('Only document files are allowed!'), false);
}
cb(null, true);
};
var upload = multer({ storage: storage, fileFilter: DocFilter})
我尝试切换到这个qazxsw poi但它没有用
这是路线:
file.originalname.match(/\.(/|zip|rar)$/i
});
这更像是一个评论,但我没有它的声誉。
我认为您的RegExp中有拼写错误。有一个额外的斜线。
这应该可以解决你的问题。
router.post("/requestsList" , middleware.isLoggedIn , upload.single("attach") , function(req , res){
cloudinary.uploader.upload(req.file.path, function(result) {
var Name = req.body.name ;
var Gender = req.body.gender ;
var Email = req.body.email ;
var PNumber = req.body.phone ;
var attach = result.secure_url;
var newRequest = {Name: Name , Gender: Gender , Email: Email , PhonenNumber: PNumber , Attachment: attach} ;
Request.create(newRequest , function(err , newlyCreated){
if(err){
console.log(err);
req.flash("error" , err.message);
res.redirect("back");
} else{
console.log(newlyCreated);
req.flash("success" , "Request Successfully Sent");
res.redirect("/home") ;
}
});
});