将base64图像数据转换为png?

时间:2016-11-02 13:44:38

标签: javascript node.js express

我正在使用Mapbox's Javascript PBF libraryPBF文件转换为png。对于上下文,这是我到目前为止所拥有的:

var pbfFile = new pbf(fs.readFileSync('0.pbf')), // pbfFile.buf gives us the binary data for the image

buffer = new Uint8Array();
buffer = pbfFile.readBytes();

console.log("Raw Uint8 data: " + buffer);

var bufferToBase64 =btoa(String.fromCharCode.apply(null, buffer));

console.log("Image data in base64: " + bufferToBase64);

输出以下内容:

Raw Uint8 data: 139,8,0,0,0,0,0,0,3,157,86,123,84,84,199,25,223,111,230,238,222,185,23,88,150,187,168,184,32,44,23

Image data in base64: iwgAAAAAAAADnVZ7VFTHGd9v5u7euRdYlruouCAsFw==

关于如何将base64数据转换为png图像并将其传递给我的服务器,我有点迷失。我有一个express服务器在运行并监听请求,现在上面的代码在我通过终端连接到它时运行。

有没有办法可以转换上面的基础64并将图像发送到我的浏览器?不一定在画布中,就像文件(因此提示下载)完全没问题一样。

1 个答案:

答案 0 :(得分:2)

您可以使用base64-img

执行此操作

使用npm

安装它
npm install base64-img --save

实施例

base64Img.img('data:image/png;base64,...', 'dest', '1', function(err, filepath) {});

可在此处找到更多文档base64-img