Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 分发版本中的电子文件路径问题_Windows_Reactjs_Electron_Fs_Electron Builder - Fatal编程技术网

Windows 分发版本中的电子文件路径问题

Windows 分发版本中的电子文件路径问题,windows,reactjs,electron,fs,electron-builder,Windows,Reactjs,Electron,Fs,Electron Builder,在electron and react中开发应用程序,在开发模式下一切正常,但在生产模式下,我遇到了路径问题 视窗-v10 电子-v1.8.9 React-v16.3 当应用程序打开时,引发一个事件,用于将数据从服务器下载到本地系统以脱机模式显示 在具有internet的开发模式下,文件路径如下 "D:\Workspace\Electron App\images\image01.jpg" "D:\Workspace\Electron App\images\image02.jpg" "D:\Wor

在electron and react中开发应用程序,在开发模式下一切正常,但在生产模式下,我遇到了路径问题

视窗-v10 电子-v1.8.9 React-v16.3

当应用程序打开时,引发一个事件,用于将数据从服务器下载到本地系统以脱机模式显示

在具有internet的开发模式下,文件路径如下

"D:\Workspace\Electron App\images\image01.jpg"
"D:\Workspace\Electron App\images\image02.jpg"
"D:\Workspace\Electron App\images\image03.jpg"
在没有internet的分发模式下,文件路径如下

"C:\Program Files\Electron App\resources\app.asar\images\.eslintignore"
"C:\Program Files\Electron App\resources\app.asar\images\app"
"C:\Program Files\Electron App\resources\app.asar\images\app.js"
"C:\Program Files\Electron App\resources\app.asar\images\node_modules"
从上面的URL
app.asar
是一个文件而不是文件夹,我无法找到下载的文件,我也不知道为什么URL有
.eslintignore-app-app.js

这是我下载文件的代码

const downloadFile = (configuration) => {
    const { remoteFile, localFile } = configuration;

    return new Promise((resolve, reject) => {
        const req = request({
            method: 'GET',
            uri: remoteFile,
        });

        const out = fs.createWriteStream(localFile);
        req.pipe(out);

        req.on('end', () => resolve());

        req.on('error', () => reject());
    });
};

ipcMain.on(STORE_DATA, (event, data) => {
    const storedPaths = [];
    const dataLength = data.length;
    const storingPath = path.join(__dirname, '/images/');

    data.map((remoteFileSource) => {
        const filename = remoteFileSource.url.split('/').pop().split('#')[0].split('?')[0];

        downloadFile({
            remoteFile: remoteFileSource.url,
            localFile: storingPath + filename,
        }).then(() => {
            const storedData = {
                url: storingPath + filename,
            };
            storedPaths.push(storedData);

            // Send paths to local files
            if (dataLength === storedPaths.length) {
                mainWindow.send(STORED_DATA, storedPaths);
            }
        });
    });
});
期待着急需的帮助

谢谢

您是否尝试过使用


此API允许您显式查找给定的路径名

非常感谢您的回复,我还没有尝试过。但是我正在从路径中获取回调中的文件位置<代码>“C:\Program Files\Electron App\resources\App.asar\images\Image01.png”但是当我明确尝试从上述路径获取文件时,没有这样的文件。您能告诉我本地系统中存储文件的理想位置吗。因为我试图创建一个文件夹,windows抛出错误
错误:EPERM,不允许操作,mkdir
嘿,谢谢你的回答,我发现了,实际上,我把文件存储在了错误的目录中。很高兴我能提供帮助,保重!