node.js electron 文件流生成图片

node.js、 buffer对象 、 electron方法--获取文件图标并生成到本地

Electron是一个在GitHub上开源的使用HTML,CSS和JavaScript来建立跨平台的桌面应用的开发库。这里用了electron自身封装的方法来获取桌面工具应用的图标。

1.首先传路径(path)参数,回调函数返回的icon即获取到的图标文件(但不可直接访问,需后续处理)。方法如图:


electron自带的方法

2.回调函数获取到的icon是有各种方法的对象,用icon的方法将返回一个buffer对象(该类用来存放二进制数据的缓存区)

获取到的icon(nativeImage 类的实例所提供)的各种方法

3.将获取到的buffer对象的文件流生成一个可访问的图片文件并存到本地

实例代码

//引入需要的库

var app = require('electron');

var path=require('path');

var fs=require('fs');

//获取图标并转换成buffer对象

app.getFileIcon(pathObj,{size:'large'}, function (err, icon) {

if (!err) callback && callback(icon.toPNG());

var imgData = new Buffer(icon.toPNG(), 'base64');//Buffer编码

//将编码的buffer对象生成二进制保存成图片

fs.writeFile(path.resolve('C:/localAppImg/' + 文件名+ '.png'), imgData, function (err) {

if (err)

return console.log(err);

});

})

> 参考网址:https://github.com/electron/electron/blob/master/docs/api/app.md

你可能感兴趣的:(node.js electron 文件流生成图片)