无法将(图像的)Uint8 ArrayBuffer转换为base64缓冲区以保存在Mongo数据库中



我试图从服务器端的url(从客户端获得(下载图像,然后将其存储在mongo数据库中。

router.post('/fetchbyurl'), async (req,res) => {
const mime = require('mime-kind')
const base64ArrayBuffer = require('base64-arraybuffer')
resData = await fetch(req.body.url,{ 
mode: 'no-cors'
})
const data = await resData.arrayBuffer() //Uint8 arrayBuffer 
console.log(mime(data)) //mime: 'image/jpeg'
const base64str = base64ArrayBuffer.encode(data) //Base64 buffer string
const arrayBuffer = Buffer.from(base64str) //this is not rendering image.
console.log(mime(arrayBuffer)) // null
}

我正试图这样渲染:

<img src = "data:image/jpg;base64,arrayBuffer>

我需要帮助来弄清楚,如何将该图像保存在base64 arraybuf中,以便将其保存在mongodb中。

所以它现在可以工作了,我所做的只是像这样更改arrayBuffer行:

const arrayBuffer = Buffer.from(base64str.toString('ascii'), 'base64');

最新更新