如何使用react native将缓冲区转换为图像



我使用带有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字符串的答案!

最新更新