electron 如何代理所有页面的下载像chrome那样统一一个地方管理下载的文件
可以使用 electron 的 session 下载事件来实现代理所有页面的下载,并将下载文件保存到统一的文件夹中。
具体实现步骤如下:
- 在创建 BrowserWindow 时,设置 session 的 download 监听器:
const { app, BrowserWindow } = require('electron')
app.on('ready', () => {
const win = new BrowserWindow()
// 获取当前窗口的 session
const session = win.webContents.session
session.on('will-download', (event, item, webContents) => {
// 设置下载路径为统一的文件夹
item.setSavePath('/path/to/download/folder/' + item.getFilename())
})
win.loadURL('https://www.example.com')
})
- 在 session 的 download 监听器中,设置下载文件路径为统一的文件夹。
通过 item.getFilename() 获取文件名,再拼接上统一的文件夹路径即可。
这样,所有页面的下载都会被代理到 session 的 download 监听器中,文件也会被保存到统一的文件夹中
原文地址: http://www.cveoy.top/t/topic/fh5u 著作权归作者所有。请勿转载和采集!