express js中带有路由器的Multer存储



我有这个路由,当我只给desk密钥一切正常时,我可以上传我的图像,但当我使用storage对象时,它不工作,也找不到路由,如果我使用storageapp.use,一切都正常。

我可以使用app.use来处理这个问题,但我是express的新手,很好奇为什么它不起作用!!!

感谢您的帮助:(

router.route("/").post(
multer({
//dest: 'uploads/expense'
storage: multer.diskStorage({
destination: (req, file, next) => {
next(null, path.join(__dirname, '/uploads/expense'))
},
filename: (req, file, next) => {
next(null, file.fieldname +'-'+file.originalname)
}
})
}).single("image")
,
controller.insertData // calling my insert controller
)

问题是您在multer的目的地中定义的path本应在没有path.join():的情况下定义

router.route("/").post(
multer({
//dest: 'uploads/expense'
storage: multer.diskStorage({
destination: (req, file, next) => {
next(null,'uploads/expense') // HEREEE!
},
filename: (req, file, next) => {
next(null, file.fieldname +'-'+file.originalname)
}
})
}).single("image")
,
controller.insertData // calling my insert controller
)

最新更新