如何在节点js中使用单个api保存文本字段值以及文件上传?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在节点js中使用单个api保存文本字段值以及文件上传?相关的知识,希望对你有一定的参考价值。
我有一个用例,在这种情况下,我需要将注册表单字段值保存到数据库中,并且还需要上传用户图像。
据我所知,我需要使用2种不同的api来存储表单字段值,并使用一种api来上传文件。像request.files
这样上传的图像和request.body
这样的原始数据。
是否可以在单个api中上传图像和表单字段值?我需要获取用户的id
,以便可以将userId映射到图像。
答案
是的,您可以这样做。对于图像,您可以使用它的multer来存储图像(文件),并且还可以存储表单值。
有关参考,您可以访问link
您必须像在路由器中一样使用multer作为中间件
router.post('/addtype', upload.single("image"), (req, res) => {
const newExample = new Example ({
examplename: req.body.name,
imagePath:'/images/' + req.file.filename
})
newExample .save()
.then(result => {
res.json(result)
})
.catch(error => {
console.log(error)
})
})
我在此示例中使用猫鼬,您可以对mongodbClient进行相同操作
以上是关于如何在节点js中使用单个api保存文本字段值以及文件上传?的主要内容,如果未能解决你的问题,请参考以下文章
如何从输入字段搜索文本到文本区域,以及如何使用 Jquery 标记匹配结果?
在编辑另一个文本字段 vue.js 时获取计算属性并传递其值