我正在尝试上传rar和zip文件使用multer到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})
我试着切换到这个file.originalname.match(/\.(/|zip|rar)$/i
,但它不起作用
这就是路线:
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") ;
}
});
});
});
发布于 2019-03-18 02:29:58
这更多的是一种评论,但我没有这样的名声。
我想你的RegExp打错了。有一个额外的斜杠。
这应该会解决你的问题。
file.originalname.match(/\.(/|zip|rar)$/i
^
|
https://stackoverflow.com/questions/55210209
复制相似问题