我只是尝试将图像作为缓冲区添加到 mongodb 并尝试转换回图像。
在ejs中,效果很好。
src="data:image/png;base64,<%=project.image1.toString('base64')%>"
这是我在ejs中使用的代码。
但是当我尝试通过纯js将其附加到元素时,它显示错误
$('#two').prepend($('<img>',{id:'theImg2',src:`data:image/png;base64,${ selected[0].image2.data.toString('base64')}`}))
This is the code i used in pure js.
这是我在js中console的对象。
这就是错误!
谢谢你!
没有.toString('base64')
在 JavaScript 中,它存在于 Node.js 缓冲区中,所以你只需调用.toString
on an Object
,这确实会输出:[Object Object]
这就是你得到的。
相当于 Node.jsbuffer.toString('base64')
将会:
function toBase64(arr) {
//arr = new Uint8Array(arr) if it's an ArrayBuffer
return btoa(
arr.reduce((data, byte) => data + String.fromCharCode(byte), '')
);
}
$('#two').prepend($('<img>',{id:'theImg2',src:`data:image/png;base64,${toBase64( selected[0].image2.data)}`}))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)