【发布时间】:2016-11-23 18:52:02
【问题描述】:
我正在为我的新项目在 nodejs 上做一些实验,并在图像上传时进行。我正在将 Express MVC 与 mongodb 一起使用。我想通过 multer 配置本身的验证错误将用户发送回同一页面。 multer的filename函数中没有响应参数。
var multer = require('multer');
var storage = multer.diskStorage({
destination: function (request, file, callback) {
callback(null, 'public/uploads/');
},
filename: function (request, file, callback) {// Validations & File Name can be set/changed here
if (file.mimetype !== 'image/png' && file.mimetype !== 'image/jpg' && file.mimetype !== 'image/jpeg') {
console.log('File extensions required are png, jpg, jpeg');
return false;
} else {
var rString = randomString.generate({ length: 12, charset: 'alphabetic' });
callback(null, rString + '_' + Date.now() + path.extname(file.originalname));
}
}
});
var upload = multer({ storage: storage }).single('displayImage');
我的路线是
router.route('/change-avatar')
.get(function (req, res) {
res.render('views/profile/changeAvatar');
})
.post(function (req, res) {
var id = req.session.userId;
upload(req, res, function (err) {
if (err) { console.log(err); return; } // if error
console.log(req.files);
response.end('Your File Uploaded');
console.log('Photo Uploaded');
});
});
怎么可能。
谢谢
【问题讨论】:
标签: node.js mongodb express multer