2016-12-06 66 views
0

我正在使用multer上传nodejs中的文件。以下是我的代码。验证使用multer仅在nodejs中上传jpg文件

var multer = require('multer'); 
var imagefolder = __base + 'public/complaintimages'; 

var storage = multer.diskStorage({ 
    destination: function (req, file, cb) { 
     if (common.ImageMimeTypes.indexOf(file.mimetype) < 0) { 
      common.ActionOutput.Status = common.ActionStatus.Error; 
      common.ActionOutput.Message = 'Invalid image file: ' + file.originalname; 
      cb(new Error(JSON.stringify(common.ActionOutput)), null); 
     } else 
      cb(null, imagefolder); 
    }, 
    filename: function (req, file, cb) { 
     var filenm = randomstring.generate(10); 
     console.log(filenm + file.originalname); 
     cb(null, filenm + file.originalname); 
    }, 
    onError: function (err, next) { 
     console.log('error', err); 
     next(err); 
    } 
}) 

var upload = multer({ storage: storage }); 

我只允许通过把MIME类型检查工作正常上传jpg文件。 但是,当我上传任何其他类型的文件,控制不会进入onError块,以便我可以返回一个适当的验证消息,如'please upload valid jpg files.' 请指教。

+1

查看multer中的mimetype –

+0

check console.log(file.mimetype);它会返回图像/ jpeg –

+0

你可以试试这个代码: filename:function(req,file,cb){console.log(file.mimetype); } –

回答