【问题标题】:How can i navigate user to same page when the errors occurs in multer upload nodejs当multer上传nodejs中发生错误时,我如何将用户导航到同一页面
【发布时间】: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


    【解决方案1】:

    至少显示您遇到的错误,而不是显示“发生错误”。

    但我的问题是目标路径不存在。

    尝试将下面的代码放在'var storage'之前

    require('mkdirp').sync('./public/uploads/enduser')
    

    记得

    npm i mkdirp --save
    

    【讨论】:

      猜你喜欢
      • 2019-09-04
      • 2011-12-01
      • 1970-01-01
      • 2020-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多