以下是我处理uploadImage路由的代码
var storage = multer.diskStorage({
destination: function(req, file, cb) {
cb(null, 'uploads/');
},
filename: function(req, file, cb) {
cb(
null,
file.originalname.split('.')[0] +
'__' +
Date.now() +
'.' +
file.originalname.split('.')[1]
);
}
});
var upload = multer({ storage: storage }).single('thumbnail');
router.post('/uploadImage.json', authenticate, function(req, res) {
upload(req, res, function() {
console.log(req.file); //here always "undefined"
let image = new Image({
image_filename: req.file.filename,
image_url: NODE_ENV.domain_name + '/' + req.file.path,
_creator: req.user._id
});
image
.save()
.then(image => {
res.send(image);
})
.catch(err => {
res.status(400).send({ status: 'error', message: err });
});
});
});
我在pm2上运行我的节点应用程序,下面是我的pm2 ecosystem.config.js文件
module.exports = {
apps : [
{
name : 'myapp',
script : './myapp/backend/bin/www',
env: {
NODE_ENV: "production"
}
}
]
}
我跑
pm2 start ecosystem.config.js
并尝试上传图片,multer的req.file将是unfind。
但如果我将NODE_ENV更改为开发,一切都会好的。
我该如何解决?