我正在尝试为电子应用中的下载创建自定义跟踪器。我希望的功能是允许在跟随点击下载链接的位置附近创建和维护跟踪器。为此,我希望能够将引用传递给触发此下载的项目。
mainWindow.webContents.session.on('will-download', (event, item, webContents) => {
item.on('updated', (event, state) => {
if (state === 'interrupted') {
console.log('Download is interrupted but can be resumed');
} else if (state === 'progressing') {
if(item.isPaused()) {
console.log('Download is paused');
} else {
console.log(`Received bytes: ${item.getReceivedBytes()}`);
}
}
})
item.once('done', (event, state) => {
if(state === 'completed') {
console.log('Download successful');
} else {
console.log(`Download Failed: ${state}`);
}
})
});

我该如何实现?似乎'将 - 下载'每当发出对文件的GET请求时触发。如何在单击之前添加参数?这些信息是否可以从event / webContents中获取?
很抱歉,如果这很明显,我在网络应用程序开发方面是一个完整的菜鸟。
谢谢!
答案 0 :(得分:0)
经过一段时间,我找到了一种更好的方法来完成我尝试做的事情,使用electron-download-manager。我在click上使用了一个单独的ipc事件,它传递了所需的参数,并在main上使用了电子下载管理器来使用这些参数来创建一个监视器'特定下载的频道。
希望这有助于某人。仍然很想知道是否有可能以某种方式超载'带有额外参数的will-download事件。