我使用带有react native(expo(的pouchdb来存储本地数据和图像,当尝试恢复图像时,我得到以下数据
Object {
"data": Array [
161,
184,
222,
114,
211,
155,
141,
231,
45,
],
"type": "Buffer",
}
我想将此返回转换为图像。我已经尝试过使用这样的方法来尝试获得base64,因此稍后的图像:
let base64String = new Buffer.from(result).toString("base64")
但我得到的回报是这个
objectObject
我遇到了一个类似的问题,我这样解决了。
response
是您的API结果,然后我返回如下:
return Buffer.from(response.data, 'binary').toString('base64)
也许可以考虑使用react-native-buffer
等库来模拟react本机环境中的缓冲区。安装好后,您现在可以像使用nodejs脚本中的常规Buffer
一样使用缓冲区
我希望这对你有帮助!
我认为这可能是因为您的result.data
属性已经是一个Buffer数组。试着直接调用toString
:
let base64String = result.data.toString('base64');
顺便说一句,谢谢你提出这个问题,我在任何地方都找不到如何将Uint8Array转换为base64字符串的答案!