我正在上传图片,并使用Node.js和mongoose将它们加载回浏览器。当用户注册时,我可以让他们上传图像。然后我将图像存储到mongodb中。下面是从客户端发送的图片,图片是我发送给服务器的图片。
var match = /data:([^;]+);base64,(.*)/.exec(picture);
var image = {
data: new Buffer(match[2], "base64"),
contentType: match[1]
};
在使用缓冲区转换之前,格式为:
iVBORw0KGgoAAAANSUhEUgAAAJwAAACgCAIAAAB2YpLMAAAYT2..==
转换后,image.data采用以下格式:
<Buffer 89 50 4e 47 0d 0a 1a 0a 00 00>
但是,当我尝试将图像检索回客户端时,html将是:
data:image/png;base64,105,86,66,79,82,119,48,75,71,103,...
它无法在浏览器上加载图像,我想我需要以这种格式加载它:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJwAAACgCAIAAAB2YpLMAAAYT2...==
我如何解决这个问题?
提前致谢,
答案 0 :(得分:1)
在image.data上调用toString("base64")
将其恢复为原始字符串形式。