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

相关推荐
mayaairi5 小时前
JS循环语句深度解析:嵌套for、while与do...while
开发语言·前端·javascript
To_OC5 小时前
啃完流式输出:从一个卡顿的 LLM 接口开始,我搞懂了数据流到底怎么 “流”
前端·javascript·llm
海上彼尚8 小时前
Nodejs也能写Agent - 22.LangGraph篇 - 上下文工程
前端·javascript·人工智能·langchain·node.js
默_笙9 小时前
🎉 AI 项目里为什么需要 BFF?因为我实在不想在前端处理二进制流
前端·javascript
xyphf_和派孔明11 小时前
企业级微前端项目完整创建步骤,第三步:配置 Vue 子应用
前端·javascript
路光.13 小时前
Vue2升级Vue3处理原 UMD/CommonJS 打包文件,不是标准 ESM
前端·javascript·vue.js·vue3
一只月月鸟呀14 小时前
移动端tap与click的区别 && 点透事件
开发语言·前端·javascript
KaMeidebaby15 小时前
卡梅德生物技术快报|抗体筛选:抗体筛选中的噬菌体展示四参数调优——从流程设计到数据验证
开发语言·前端·javascript
默_笙15 小时前
🔑 让 AI 学会"读"网页:我用 Cheerio 爬了一篇掘金文章,然后切成小块存进了向量库
前端·javascript
方方洛16 小时前
AI 教程系列-TUI 应用开发教程14-技能系统与可扩展性
前端·javascript·typescript