【发布时间】:2018-07-28 06:17:18
【问题描述】:
我在 express 中使用 multer 进行文件存储,但是当我在文件中使用 req.params.event 时,我得到了未定义。为什么会这样。没有 req.params.event 我无法在文件夹中分类我的上传
var multer = require('multer');
var storage = multer.diskStorage({
destination: function (req, file, callback) {
console.log(req.params.event); //This console log is undefined
callback(null, './uploads');
},
filename: function (req, file, callback) {
callback(null, file.fieldname + '-' + Date.now());
}
});
var upload= multer({
storage: storage
}).single('userPhoto');
module.exports={upload:upload};
这是我参加活动的路线
app.get('/events/:event', (req, res) => {
console.log(req.params.event); // here working perfectly
res.render('event.hbs', {
});
})
这是上传路径
app.post('/events/upload',upload,function(req,res){
console.log("uploded")
});
甚至 req.params 在 multer 中也是空的
【问题讨论】:
-
您在哪里使用 multer 中间件?
-
我正在使用 multer 将图像文件上传到服务器。
-
但是你必须在路由中使用它,比如:
app.get('/event/:event', multer({}), (req, res) => {}) -
尝试使用 url 使用 multer 对文件夹中的图像进行分类
-
你在你的 GitHub 中有
'/events/upload'路由upload(req,res,function(err) {})- 这是你的问题中缺少的。
标签: node.js express url multer