私は Node.js を初めて使用し、最近単純な問題に遭遇しました。
モジュールを使用multer
して画像をアップロードしています。私の Web アプリでは、すべてのユーザーに一意の ID があり、アップロードされた画像をディレクトリに保存して、ID に基づいて名前を付けたいと考えています。
例:
.public/uploads/3454367856437534
ここに私のroutes.js
ファイルの一部があります:
// load multer to handle image uploads
var multer = require('multer');
var saveDir = multer({
dest: './public/uploads/' + req.user._id, //error, we can not access this id from here
onFileUploadStart: function (file) {
return utils.validateImage(file); //validates the image file type
}
});
module.exports = function(app, passport) {
app.post('/', saveDir, function(req, res) {
id : req.user._id, //here i can access the user id
});
});
}
id に基づいて適切なディレクトリを生成するためにreq.user._id
、 callback の外で属性にアクセスするにはどうすればよいですか?function(req, res)
multer
編集これが私が試したもので、うまくいかなかったものです:
module.exports = function(app, passport) {
app.post('/', function(req, res) {
app.use(multer({
dest: './public/uploads/' + req.user._id
}));
});
}