javascript - 如何使用Electron-dl

标签 javascript electron

我正在尝试获取包裹electron-dl在职的。为此,我使用标准 electron-quick-start示例项目。

不幸的是,将 electro-dl 中的示例代码应用到 electon-quick-start 示例对我来说不起作用,这意味着什么也没有发生,浏览器控制台或终端中也没有错误。

这就是我实现最小示例的方式:

ma​​in.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));
});
// ...

renderer.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)
})

index.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

我做错了什么?

有人可以提供一个使用 electro-quick-start 示例来实现 electro-dl 的简单工作示例吗?

感谢您的帮助!

最佳答案

完全按照您的描述重新创建后,它对我来说完美无缺。

控制台输出如下:

http://ipv4.download.thinkbroadband.com/5MB.zip
DownloadItem {
  _events: { updated: [Function], done: [Function] },
  _eventsCount: 2 }

封装决定了location to store the file本身,如果您不指定它。您可以使用 app.getPath('downloads') 输出默认选择的路径。对我来说,这是我的主目录 (Linux)。

如果您想自己设置下载目录:

download(win, url, {
    directory: "/path/to/my/directory/"
})

该包将根据需要创建目录。

关于javascript - 如何使用Electron-dl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55650277/

相关文章:

javascript - 如何更改 ColumnChart 中的条形颜色和图例

node.js - 在 Windows 10 上为 Electron 应用程序构建 sqlite3

javascript - 导入包的 Visual Studio 代码 JS Intellisense 不起作用

c# - asp.net:发布应用程序后文本框消失

javascript - createReadStream 管道在 Electron 1.6 中不起作用

electron - Electron 如何处理全局依赖性

sharepoint-2010 - 使用 Electron 访问跨域资源

visual-studio-code - 打包和发布 VS Code 的步骤是什么?

javascript - 控制悬停时显示的文本

javascript - 将函数导出到 app.js 时出现 NodeJS 错误