代码之家  ›  专栏  ›  技术社区  ›  Habibul Hasan

如何下载应用文件夹中的文件?[包装后]

  •  1
  • Habibul Hasan  · 技术社区  · 7 年前

    这是我当前的文件夹结构 before packaging

    索引中有这两行代码。js下载并在我的电子窗口中显示html

    fs.createReadStream('./Report.zip').pipe(unzip.Extract({ path: './'+folderName }));
    LoginWindow.loadURL(`file://${__dirname}./`+folderName+`/t01s01q01.html`);
    

    在开发模式下,它工作正常,文件下载在同一文件夹中,我的索引。js存在。但打包后,应用程序文件在应用程序文件夹外下载。WRM_80下面给出了打包文件夹结构。是我下载的文件夹。 after packaging

    这就是为什么我无法将下载的文件加载到窗口中。如何下载应用文件夹中的文件?如果不可能,我如何从资源\应用程序位置加载外部文件?

    1 回复  |  直到 7 年前
        1
  •  0
  •   AlienHoboken    7 年前

    通过引用目录作为 ./folder_name 实际上,您是在告诉应用程序下载到 working directory electron 命令,工作目录是应用程序的根目录。但是,一旦安装并作为 .exe

    在Electron中,您可以使用以下工具获取应用程序的应用程序数据文件夹的路径:

    const {app} = require('electron');
    app.getPath('userData')
    

    var userData = app.getPath('userData');
    fs.createReadStream(`${userData}/Report.zip`).pipe(unzip.Extract({ path: `${userData}/${folderName}` }));
    LoginWindow.loadURL(`file://${userData}/${folderName}/t01s01q01.html`);