electron/docs-translations/jp/api/download-item.md
2016-10-11 22:37:32 -07:00

3.6 KiB
Raw Blame History

DownloadItem

DownloadItemは、Electronでアイテムのダウンロードを示すEventEmitterです。 Sessionモジュールのwill-downloadイベントで使用され、ダウンロードしたアイテムをコントロールすることができます。

// In the main process.
const {BrowserWindow} = require('electron')
let win = new BrowserWindow()
win.webContents.session.on('will-download', (event, item, webContents) => {
  // Set the save path, making Electron not to prompt a save dialog.
  item.setSavePath('/tmp/save.pdf')

  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 successfully')
    } else {
      console.log(`Download failed: ${state}`)
    }
  })
})

イベント

イベント: 'updated'

downloadItemが更新されたときに出力されます。

イベント: 'done'

  • event Event
  • state String
    • completed - ダウンロードが成功で完了
    • cancelled - ダウンロードをキャンセル
    • interrupted - ファイルサーバーとの接続が切れてエラー

ダウンロードが終了状態になったときに出力されます。終了状態には、ダウンロードの完了、ダウンロードのキャンセル(downloadItem.cancel()経由)、レジュームできないダウンロードの中断などです。

メソッド

downloadItemオブジェクトは次のメソッドを持ちます:

downloadItem.setSavePath(path)

  • path String - ダウンロードアイテムの保存ファイルパスを設定します。

APIはセッションのwill-downloadコールバック関数のみで提供されます。API経由で保存パスを設定しなかった場合、Electronは保存パスを決めるための元のルーチン通常は保存ダイアログを使用します。

downloadItem.pause()

ダウンロードをポーズします。

downloadItem.resume()

ポーズしたダウンロードを再開します。

downloadItem.cancel()

ダウンロード操作をキャンセルします。

downloadItem.getURL()

どのURLからアイテムをダウンロードするのかを示すStringを返します。

downloadItem.getMimeType()

mimeタイプを示すStringを返します。

downloadItem.hasUserGesture()

ダウンロードがユーザージェスチャーを持っているかどうかを示すBooleanを返します。

downloadItem.getFilename()

ダウンロードアイテムのファイル名を示すStringを返します。

Note: ファイル名はローカルディスクに実際に保存するものといつも同じとは限りません。ダウンロード保存ダイアログでユーザーがファイル名を変更していると、保存するファイルの実際の名前は異なります。

downloadItem.getTotalBytes()

ダウンロードアイテムの合計バイトサイズを示すIntegerを返します。 サイズが不明な場合、0を返します。

downloadItem.getReceivedBytes()

ダウンロードしたアイテムの受信バイト数を示すIntegerを返します。

downloadItem.getContentDisposition()

レスポンスヘッダーからContent-Dispositionを示すStringを返します。