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.
' 請指教。
查看multer中的mimetype –
check console.log(file.mimetype);它會返回圖像/ jpeg –
你可以試試這個代碼: filename:function(req,file,cb){console.log(file.mimetype); } –