我尝试将Express.js与Multer一起使用来上传文件。我需要传递上载文件的父文件夹的:id。稍后,我想使用此:id并将其保存为新添加文件字段中的DB。因此,有两个部分:第一-将文件上传到服务器,第二-将有关此文件的数据保存在DB中 目前,我有一个端点可以上传文件
module.exports = {
setUp(router) {
router.get('/file/:id', fsHandlers.file)
router.get('/folder/:id', fsHandlers.folder)
router.get('/root', fsHandlers.root)
router.get('/search', fsHandlers.search)
router.use(['/folder/:id/*','/file/:id/*'], bodyParser.json({
type: "*/*"
}))
router.post('/folder/:id/new', fsHandlers.createFolder)
router.post(['/folder/:id/rename','/file/:id/rename'], fsHandlers.rename)
router.post('/file/upload', fsHandlers.upload().single('item'), fsHandlers.uploadFile)
// router.post('/file/:folderId/new', fsHandlers.postFileToFolder)
// router.post('/file/:path/new', fsHandlers.postFileToPath)
router.delete(['/folder/:id','/file/:id'], fsHandlers.delete)
}
}
其中
router.post('/file/upload', fsHandlers.upload().single('item'), fsHandlers.uploadFile)
是使用multer中间件的路由。它可以工作,但是我想用:ID
添加类似的内容router.post('/file/upload/:ID', fsHandlers.upload().single('item'), fsHandlers.uploadFile)
但是当我发送请求时,出现错误:
SyntaxError:意外令牌- 解析
有帮助吗?还有另一种将:ID作为req.param传递的方法,以便能够在将文件数据保存到DB期间使用它?