首页 > 解决方案 > 无法从渲染过程电子访问用户数据路径

问题描述

我想获取应用程序的用户数据默认目录,我可以轻松地从主进程中获取它,但我无法从渲染进程中访问它。我已将以下内容用于基于链接的渲染过程,但它不起作用。

// If not already defined...
const { remote } = require ('electron');
const path = require ('path');

let execPath;

execPath = path.dirname (remote.app.getPath ('userData'));
// or
execPath = path.dirname (remote.process.execPath);//even this is returning the same error

它给了我一个远程错误undefined。我已经尝试app在主进程中直接访问,app.getPath('userData')但它仍然返回相同的错误。有没有办法userData从渲染过程中访问文件夹路径?或者如果有一种方法可以在主进程的变量中共享它,那就太好了。

electron-app-settings在设置承诺中使用并设置它,但它返回一个对象,我不能在下面的下载函数中使用它:

 ipcRenderer.send("download", {
        url: "download url",
        properties: { directory: dir}
    });

我得到的错误是:Uncaught Error: An object could not be cloned. at EventEmitter.i.send (electron/js2c/renderer_init.js:73) 我正在使用electron-dl

标签: electron

解决方案


推荐阅读