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
网友评论