загрузить zip и rar файл с помощью node.js и multer в cloudinary - PullRequest
0 голосов
/ 17 марта 2019

Я собираюсь загрузить 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") ;
   }
});
});

});

1 Ответ

0 голосов
/ 17 марта 2019

Это больше комментарий, но у меня нет репутации за него.

Я думаю, что у вас есть опечатка в вашем RegExp.Есть дополнительная косая черта.

Это должно решить вашу проблему.

file.originalname.match(/\.(/|zip|rar)$/i
                            ^
                            |
...