【问题标题】:upload zip and rar file using node.js and multer to cloudinary使用 node.js 和 multer 将 zip 和 rar 文件上传到 cloudinary
【发布时间】:2023-04-11 12:37:01
【问题描述】:

我正在准备使用 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") ;
   }
});
});

});

【问题讨论】:

    标签: node.js express mongoose multer cloudinary


    【解决方案1】:

    这更像是一条评论,但我没有这方面的声誉。

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

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

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

    【讨论】:

    • 当我删除它时,错误消失了,但现在当我上传它时,它说未定义
    • 你能再澄清一下,什么是未定义,什么是“它”?
    • 当我尝试上传带有扩展名 zip 或 rar 的附件,并尝试 console.log 它,像这样: var attach = result.secure_url; console.log("附加==> " + 附加);它打印附加==> 未定义
    • 我不确定,但原因可能是 Cloudinary 可能不支持 rar/zip 文件。据我从他们的website 得知,他们只支持图片文件
    • 如果您将resource_type 参数设置为raw,Cloudinary 绝对支持上传 zip 文件,但根据您的计划,文件大小限制可能低于您尝试上传的 zip 文件:cloudinary.com/documentation/…
    猜你喜欢
    • 2018-02-02
    • 2020-12-25
    • 2021-03-27
    • 2021-09-02
    • 2020-09-27
    • 2013-12-16
    • 2018-10-18
    • 2021-06-10
    • 2019-07-19
    相关资源
    最近更新 更多