Express.js。如何在负责上传文件的端点上添加参数?

时间:2019-01-15 16:00:36

标签: node.js express multer

我尝试将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期间使用它?

0 个答案:

没有答案