如何在电子应用程序中转到图像文件?

时间:2019-06-15 16:17:38

标签: node.js electron electron-builder

我正在创建一个电子应用程序和包装,以用于Windows和Mac的电子生成器进行分发。这个应用程式会建立一个资料夹和一些pdf格式,视使用者输入而定。 pdf文件还使用图像,该图像作为我保存在应用程序根文件夹中的节点应用程序。

我设法使用绝对路径写入桌面。

<Button AnimaBehavior.IsEnabled = "True">
    <core:AnimaBehavior.Content>
        <core:AttachedAnima ToValue=".3" />
        <core:AttachedAnima ToValue="1"/>
    </animaCore:AnimaBehavior.Content>
</Button>

但是当我使用这个相对路径

 if (!fs.existsSync(`/Users/${user}/Desktop/2019 Certificates`)){
        fs.mkdirSync(`/Users/${user}/Desktop/2019 Certificates`);
    }

我收到以下错误:

我希望它找到相对于js文件的png,但是出现以下错误:

stampandseal.png

1 个答案:

答案 0 :(得分:1)

如果我正确理解了您的问题,则您正在尝试将图像从应用程序捆绑包中复制到用户的桌面。使用__dirname来引用您的代码在其中执行的目录,然后从该目录构建路径。

下面的代码由我的main.js文件使用,该文件位于包含我的app目录的目录中。我使用upath构建路径,并使用jetpack而不是fs复制

var fromPath = upath.join(__dirname, "app", "assets", "image.png");
jetpack.copy(fromPath, toPath, { overwrite: true });