javascript - 使用 NodeJs 获取桌面文件图标

标签 javascript node.js electron fs

我正在尝试在 Electron 中创建一个桌面启动器应用程序,它读取用户桌面中的文件数量并从找到的每个文件中收集信息。我正在收集文件并根据目录构建路径,但我能得到的只是文件名。我不确定如何存储文件本身并从中提取桌面图标。除了使用 AxtiveXobject 之外,我还没有看到很多解决方案,但是据说某些实现在最新的 nodejs 中不起作用。到目前为止,这是我的代码。

//requiring path and fs modules
const path = require('path');
const fs = require('fs');
//gets home directory
const homedir = require('os').homedir();
//specifies to desktop
const dir = `${homedir}/Desktop`;
var walk = require('walk');
var filepaths = [];
//storing desktop path
var desktopDir = dir;
console.log(desktopDir);
//gets the desktop files and paths
function getDesktopFiles(_dir){
    //read directory
    fs.readdir(_dir, (err, files) => { 
        if (err) 
          console.log(err); 
        else { 
            files.forEach(_file => { 
            //console.log(_file); 
            let _p = _dir + '/'+_file;
            //changes slashing for file paths
            let _path = _p.replace(/\\/g, "/");
            filepaths.push(_path);

          }) 
        } 
    }) 
    for(let p of filepaths){
        console.log(p);
    }

}

getDesktopFiles(desktopDir);

最佳答案

定义一个相同的函数:

function load(icon) {
  if (cache[icon]) return cache[icon];
  return cache[icon] = fs.readFileSync(__dirname + '/public/icons/' + icon, 'base64');
}

Here你可以得到同样的灵感。

关于javascript - 使用 NodeJs 获取桌面文件图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61788124/

相关文章:

javascript - 使用JS改变样式

node.js - Firebase 功能 HTTPS 403 禁止

json - 使用带有 react 和 Electron 的本地 JSON 文件

javascript - NodeJS 异步系列不按顺序工作

typescript - Electron 应用程序文件夹结构

javascript - 是否可以从内存中的 html 字符串加载 Electron webContents?

javascript - 无法序列化在 Controller 中使用两个参数的帖子

javascript - 在结束动画之前避免鼠标检测

javascript - 使用类型默认值将 GraphQL 查询转换为 JS 对象

ruby-on-rails - Gitlab CI 设置错误 - 找不到 JavaScript 运行时