Как использовать электрон-дл - PullRequest
0 голосов
/ 12 апреля 2019

Я пытаюсь заставить работать пакет электрон-дл . Для этого я использую стандартный электронный проект быстрого запуска пример проекта.

К сожалению, применение примера кода из Electron-DL к примеру Electon-Quick-Start не работает для меня, что означает, что ничего не происходит и нет ошибок в консоли браузера или терминале.

Вот как я реализовал минимальный пример:

main.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 при нажатии кнопки Загрузить.

Что я делаю не так?

Не мог бы кто-нибудь привести простой рабочий пример расширения электрон-dl на примере быстрого запуска электронов?

Спасибо за вашу помощь!

1 Ответ

1 голос
/ 12 апреля 2019

Воссоздав в точности то, что вы описали, у меня это работает без нареканий.

На консоли выводится следующее:

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

Пакет определяет местоположение для хранения самого файла , если вы его не указали. Вы можете вывести путь, который он выберет по умолчанию, используя app.getPath('downloads'). Для меня это мой домашний каталог (Linux).

Если вы хотите установить каталог загрузки самостоятельно:

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

Пакет будет создавать каталоги по мере необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...