【发布时间】:2019-09-29 06:42:20
【问题描述】:
我正在使用 nodejs 创建一个端点,它将使用 multer 存储一组图像。它允许我保存单个图像,但不知道如何处理多个图像。对于上传单个图像,这是我编写的代码:
router.post ('/upload',auth, upload.single('upload'), async (req:Request, res:Response) =>{
const bufferData = {
image:req.file.buffer
};
const image = new Image(bufferData);
image.save();
res.send()
},(error:Error, req:Request, res:Response, next:NextFunction)=>{
res.status(400).send({error:error.message})
})
对于单个文件上传,这工作正常。 对于多个文件上传,我正在尝试此代码。
router.post ('/upload',auth, upload.array('upload'), async (req:Request, res:Response) =>{
const bufferData = {
images:req.files // no here option for req.files.buffer
};
const image = new Image(bufferData);
image.save();
res.send()
},(error:Error, req:Request, res:Response, next:NextFunction)=>{
res.status(400).send({error:error.message})
})
存储图片的数据类型需要是Buffer。但是没有任何选项可以获取缓冲区格式的图像数组,例如 req.file.buffer。 Array格式的数据有什么方法?
【问题讨论】:
标签: node.js mongodb express mongoose multer