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

相关推荐
Enti7c2 分钟前
数据一键导出为 Excel 文件
前端·javascript·excel·jquery
microhex22 分钟前
Javascript代码压缩混淆工具terser详解
开发语言·javascript·ecmascript
逆袭的小黄鸭41 分钟前
掌握 JavaScript:理解原型和原型链
前端·javascript·面试
前端小趴菜0544 分钟前
记录 vue-router访问 / 路径直接重定向到有权限的第一个菜单
前端·javascript·vue.js
疏狂难除1 小时前
【Tauri2】013——前端Window Event与创建Window
前端·javascript·rust·react·tauri2
Substitute1 小时前
换个思路!在 Electron 主进程中流畅驱动你的自定义窗口动画
electron
yanyu-yaya1 小时前
@progress/kendo-react-dropdowns <ComboBox>组件报错,解决
前端·javascript·react.js
小破孩呦1 小时前
动态循环表单+动态判断表单类型+动态判断表单是否必填方法
前端·javascript·html
爱看书的小沐2 小时前
【小沐学Web3D】three.js 加载三维模型(React Three Fiber)
javascript·react.js·webgl·three.js·opengl·web3d·reactthreefiber
Python私教3 小时前
安装electron项目是为什么要执行postinstall script
前端·javascript·electron