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

问题描述 投票:0回答:1

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

});

node.js express mongoose multer cloudinary
1个回答
0
投票

这更像是一个评论,但我没有它的声誉。

我认为您的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") ;
   }
});
});
© www.soinside.com 2019 - 2024. All rights reserved.