【发布时间】:2019-06-04 07:56:05
【问题描述】:
如何从函数内部获取值以在将数据发布到数据库时使用它?在这里,我想将multer.diskStorage 中的 imageName 的值设为全局,以便在发布数据库路径时使用它
var imageName;
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './public/assets/images');
},
filename: function (req, file, cb) {
if (!file.originalname.match(/\.(png|jpg|jpeg)$/)) {
var err = new Error();
err.code = 'filetype';
return cb(err);
} else {
imageName = Date.now() + '_' + file.originalname;
cb(null, imageName);
}
}
});
router.post('/newsfeeds', parser.single("myfile"), function (req, res) {
newsfeed.path = imageName;
newsfeed.save(function (err) {
});
});
【问题讨论】:
-
当您点击
/newsfeeds端点时,您的var storage = multer.diskStorage({ ...是否会执行? -
暂时未定义
-
那么您的
var storage = multer.diskStorage({...})代码会在router.post(/newsfeeds....)被调用之前执行吗? -
其实这是我的问题,newsfeeds 被先调用然后 multer
-
然后尝试创建一个执行 multer 部分的函数,然后
returnimageName来自新函数的变量或值。然后在您的新闻提要块中调用该函数。
标签: node.js mongodb mean-stack multer