我是 Node.js 的新手,最近遇到了一个简单的问题。
我正在使用multer模块上传图片。在我的网络应用程序中,所有用户都有一个唯一的 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
});
});
}
如何访问req.user._id回调之外的属性function(req, res),以便我可以使用它multer来根据 id 生成正确的目录?
编辑这是我尝试过但没有奏效的方法:
module.exports = function(app, passport) {
app.post('/', function(req, res) {
app.use(multer({
dest: './public/uploads/' + req.user._id
}));
});
}