[解決済み] electron-dlの使用方法
2022-03-09 05:03:14
質問
パッケージを取得しようとしています エレクトロン-DL が動作しています。そのために、私は標準の エレクトロニック・クイックスタート のサンプルプロジェクトです。
残念ながら、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));
});
// ...
レンダラ.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
ダウンロードボタンを押すと
何が間違っているのでしょうか?
どなたか、electron-quick-start example を使って、electron-dl のインプリメンテーショ ンの簡単な動作例を示していただけませんか?
ご協力ありがとうございました。
解決方法は?
あなたが説明したとおりに再現したところ、私の場合は完璧に動作しました。
コンソールに以下のように出力されます。
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/"
})
パッケージは必要に応じてディレクトリを作成します。
関連
-
[解決済み】JavaScriptで':'(コロン)は何をするのか?
-
[解決済み】jquery $.ajaxオブジェクトのresponseJSONプロパティを取得する方法 [重複]。
-
[解決済み】JavaScriptのボタンonclickが機能しない
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】node.js TypeError: path must be absolute or specify root to res.sendFile [JSONのパースに失敗しました]。
-
[解決済み】React Js: Uncaught (in promise) SyntaxError: 位置 0 の JSON で予期しないトークン < が発生しました。
-
[解決済み】JavaScriptのgetElementByNameが機能しない
-
[解決済み】ある要素を別の要素に移動させるには?
-
[解決済み】SyntaxError: ChromeのJavascriptコンソールでUnexpected Identifierが発生する。
-
[解決済み】Reactのeslintエラーはpropsの検証で見つからない
-
[解決済み】Syntax error: JavaScriptの不正なreturnステートメント
-
[解決済み】 \u003C とは何ですか?
-
[解決済み】JavaScriptで関数が存在するかどうかを確認する方法は?
-
[解決済み】react router v^4.0.0 Uncaught TypeError: 未定義のプロパティ'location'を読み取れない