使用node.js和multer将zip和rar文件上传到cloudinary

时间:2019-03-17 17:59:47

标签: node.js express mongoose multer cloudinary

我正在使用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})

我尝试切换到此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") ;
   }
});
});

});

1 个答案:

答案 0 :(得分:0)

这更多是评论,但我对此没有声望。

我认为您的RegExp中有错字。 还有一个斜线。

那应该可以解决您的问题。

onBindViewHolder
相关问题