2016-12-06 64 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); } –

回答