2016-11-23 5 views
0

私の新しいプロジェクトでnodejsを使って実験しています。私はmongodbでExpress MVCを使用しています。私は、同じページにユーザーを送り返したいと思います。モルダーのfilename機能に応答パラメータはありません。multerアップロードノードでエラーが発生した場合、同じページに移動するにはどうすればいいですか

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'); 
    }); 
}); 

です。

おかげであなたの代わりにショー「エラー発生した」は何を得るのエラー

答えて

0

少なくともショー。

しかし、ゲストの問題は宛先パスが存在しないことです。

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

'VARストレージは'

npm i mkdirp --save 
に覚えの前にコードの下に置く

試してみてください

関連する問題