首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用node.js和multer上传压缩和rar文件到cloudinary

使用node.js和multer上传压缩和rar文件到cloudinary
EN

Stack Overflow用户
提问于 2019-03-18 01:59:47
回答 1查看 1.1K关注 0票数 0

我正在尝试上传rar和zip文件使用multer到cloudinary,我上传pdf它工作得很好,但我想只允许zip和rar。

下面是我的代码:

代码语言:javascript
复制
    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,但它不起作用

这就是路线:

代码语言:javascript
复制
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") ;
   }
});
});

});

EN

回答 1

Stack Overflow用户

发布于 2019-03-18 02:29:58

这更多的是一种评论,但我没有这样的名声。

我想你的RegExp打错了。有一个额外的斜杠。

这应该会解决你的问题。

代码语言:javascript
复制
file.originalname.match(/\.(/|zip|rar)$/i
                            ^
                            |
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55210209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档