使用base64在HTML上进行图像渲染?

时间:2014-03-28 23:24:47

标签: javascript html image node.js mongodb

我正在上传图片,并使用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...==

我如何解决这个问题?

提前致谢,

1 个答案:

答案 0 :(得分:1)

在image.data上调用toString("base64")将其恢复为原始字符串形式。