首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >来自mongodb的二进制数据被损坏

来自mongodb的二进制数据被损坏
EN

Stack Overflow用户
提问于 2019-08-29 10:21:04
回答 2查看 231关注 0票数 0

当我上传照片时,它会转换成base64格式,然后当我使用Mongoose发送到mongodb时,它会保存为二进制文件。但是,当我从数据库中回调相同的图片时,它返回的是缓冲区数组。转换为base64后,它以base64字符串的形式返回,但与原始base64完全不同。无法在浏览器中呈现新的base64,因为它已损坏。下面是不同字符串的图片

这是初始base64

这是缓冲区数组

这是使用Buffer.from(头像).toString(‘base64’)从缓冲区数组转换后损坏的base64。请注意,在浏览器中渲染之前,我附加了"data:image/png;base64“,它仍然没有渲染。

有人能告诉我我哪里做错了吗?

EN

回答 2

Stack Overflow用户

发布于 2019-08-29 11:02:17

最好的解决方案是转换为png或jpg文件,仅上传路径并将图像保存到文件夹。

票数 0
EN

Stack Overflow用户

发布于 2019-08-30 07:14:16

下面是我解决这个问题的方法。我将二进制代码转换为utf8,而不是base64。

在Buffer.from(binary_data,'binary').toString('utf8')之间有很大的不同

Buffer.from(binary_data,'binary').toString('base64')

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57702142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档