Javascript 使用express/multer向Postgres发送图像

Javascript 使用express/multer向Postgres发送图像,javascript,node.js,postgresql,express,multer,Javascript,Node.js,Postgresql,Express,Multer,所以我使用邮递员通过express library将图像发送到邮寄路线。我从中得到了二进制数据的缓冲区,它不允许我处理数据。使用主体解析器会有帮助吗 这是我上传文件的地方: app.post('/uploads', upload.single('upload'), async (req, res) => { const imgBuffer = req.file.buffer console.log(imgBuffer.toString()) // await cli

所以我使用邮递员通过express library将图像发送到邮寄路线。我从中得到了二进制数据的缓冲区,它不允许我处理数据。使用主体解析器会有帮助吗

这是我上传文件的地方:

app.post('/uploads', upload.single('upload'), async (req, res) => {
    const imgBuffer = req.file.buffer
    console.log(imgBuffer.toString())
    // await client.query('UPDATE rooms SET room = $1', [imgBuffer])
    res.send()
})
这是我在向postman发出请求后得到的输出:


这不允许我在postgres上存储任何内容。嗯,我看到使用base64更好地存储。。。我真的不知道。有人能帮忙吗?

不确定,但你搜索过这个吗


新缓冲区(数据).toString('base64')

您可以使用base64存储;但通常更好的选择是将图像存储在磁盘上,只在数据库中存储对路径/文件名的引用。好的,但如何将此缓冲区转换为base64?将缓冲区转换为字符串需要编码
var imgData=buffer.from('abc');imgData==Buffer.from(imgData.toString('base64'),'base64')。toString()//true