我正在尝试让包electron-dl工作。为此,我使用标准的electron-quick-start示例项目。
不幸的是,将electron-dl中的示例代码应用到electon-quick-start示例中对我来说不起作用,这意味着什么都没有发生,浏览器控制台或终端中也没有错误。
下面是我实现最小示例的方法:
主文件.js
const {app, BrowserWindow, ipcMain} = require('electron')
const {download} = require('electron-dl');
let mainWindow
ipcMain.on('download-item', async (event, {url}) => {
event.sender.send('download-success', url)
console.log(url)
const win = BrowserWindow.getFocusedWindow();
console.log(await download(win, url));
});
// ...
渲染器.js
const { ipcRenderer } = require('electron')
$('#btn-dl').click(() => {
const newURL = "http://ipv4.download.thinkbroadband.com/5MB.zip"
ipcRenderer.send('download-item', {url: newURL})
})
ipcRenderer.on('download-success', (event, arg) => {
console.log(arg)
})
索引.html
<h1>Hello World!</h1>
<button id="btn-dl">Download</button>
<script>
// jQuery
$ = require('jquery')
// You can also require other files to run in this process
require('./renderer.js')
</script>
在这个实现中,我只是在按下载按钮时尝试下载文件5MB.zip
。
我做错了什么?
有没有人可以提供一个简单的使用electron-quick-start实现electron-dl的工作示例?
谢谢你的帮忙!
2条答案
按热度按时间kqhtkvqz1#
完全重现了你描述的一切,对我来说完美无瑕。
以下是控制台上的输出:
如果你不指定的话,包会自己决定文件的存储位置,你可以使用
app.getPath('downloads')
输出它默认选择的路径,对于我来说,这是我的主目录(Linux)。如果要自己设置下载目录:
包将根据需要创建目录。
ogsagwnx2#
我只想补充一点,我花了几天时间在这个问题上。我在我的项目上遇到了完全相同的事情。通过禁用我的防病毒盾,它停止了中断下载。请确保您为您的项目/任何visual studio代码进程创建了一个例外。我只是选择了整体禁用盾。
编辑:这样做的风险自担。