electron-dl用于在Electron中下载多个文件

electron-dl用于在Electron中下载多个文件

javascript 复制代码
const { app, BrowserWindow, ipcMain } = require('electron');
const { download } = require('electron-dl');
const path = require('path');
 async function createWindow() {
  const mainWindow = new BrowserWindow();
   mainWindow.loadURL('https://example.com');
   mainWindow.webContents.on('did-finish-load', async () => {
    const files = [
      { url: 'https://example.com/file1.ext', directory: 'path/to/save/file1' },
      { url: 'https://example.com/file2.ext', directory: 'path/to/save/file2' },
      // Add more files with their respective URLs and directories
    ];
     for (const file of files) {
      const options = {
        directory: path.join(app.getPath('downloads'), file.directory),
      };
       try {
        const dl = await download(mainWindow, file.url, options);
        console.log(`File saved to: ${dl.getSavePath()}`);
      } catch (error) {
        console.error('File download failed:', error);
      }
    }
     mainWindow.close();
  });
}
 app.on('ready', createWindow);

在这个更新的代码中,我们使用了 electron-dl 模块的 download 函数来实现文件下载。我们在主窗口加载完成后,通过循环遍历文件列表,使用 await 关键字等待文件下载完成。下载成功后,我们打印出文件保存的路径。如果下载失败,则打印错误信息。

请注意,您需要在 files 数组中添加要下载的文件的URL和目录。确保您已经安装了 electron-dl 模块。

npm install electron-dl

相关推荐
weixin-a153003083168 分钟前
vue疑难解答
前端·javascript·vue.js
大怪v7 小时前
【搞发🌸活】不信书上那套理论!亲测Javascript能卡浏览器Reader一辈子~
javascript·html·浏览器
西陵8 小时前
Nx带来极致的前端开发体验——任务缓存
前端·javascript·架构
Panda__Panda8 小时前
docker项目打包演示项目(数字排序服务)
运维·javascript·python·docker·容器·c#
10年前端老司机9 小时前
Promise 常见面试题(持续更新中)
前端·javascript
WebDesign_Mu11 小时前
为了庆祝2025英雄联盟全球总决赛开启,我用HTML+CSS+JS制作了LOL官方网站
javascript·css·html
噢,我明白了12 小时前
前端js 常见算法面试题目详解
前端·javascript·算法
学编程的小虎12 小时前
用 Python + Vue3 打造超炫酷音乐播放器:网易云歌单爬取 + Three.js 波形可视化
开发语言·javascript·python
做好一个小前端12 小时前
后端接口获取到csv格式内容并导出,拒绝乱码
前端·javascript·html
勤奋菲菲13 小时前
Vue3+Three.js:requestAnimationFrame的详细介绍
开发语言·javascript·three.js·前端可视化