downloads.removeFile()

downloads API 的 removeFile() 函式會從磁碟中刪除已下載的檔案。

此 API 會從磁碟中刪除檔案,但不會從瀏覽器的下載歷史記錄中刪除它。因此,呼叫 downloads.search() 時,該專案仍會以 DownloadItem 的形式返回,但其 exists 屬性將為 false

要從下載歷史記錄中刪除檔案,您需要使用 downloads.erase()

這是一個非同步函式,返回一個 Promise

注意:如果您想從磁碟中刪除已下載的檔案從歷史記錄中刪除它,您必須在呼叫 downloads.erase() 之前呼叫 removeFile()。如果您嘗試反向操作,在呼叫 removeFile() 時會收到錯誤,因為瀏覽器將不再有該下載的記錄。

語法

js
let removing = browser.downloads.removeFile(
  downloadId      // integer
)

引數

downloadId

一個代表您想從磁碟刪除的 DownloadItem ID 的 integer

返回值

一個 Promise。如果請求成功,Promise 將會無引數地 fulfilled。如果請求失敗,Promise 將會附帶一個錯誤訊息被 rejected。

示例

刪除最近下載的檔案

js
function onRemoved() {
  console.log(`Removed item`);
}

function onError(error) {
  console.log(`Error: ${error}`);
}

function remove(downloadItems) {
  if (downloadItems.length > 0) {
    let removing = browser.downloads.removeFile(downloadItems[0].id);
    removing.then(onRemoved, onError);
  }
}

let searching = browser.downloads.search({
  limit: 1,
  orderBy: ["-startTime"],
});

searching.then(remove, onError);

擴充套件程式示例

瀏覽器相容性

注意:此 API 基於 Chromium 的 chrome.downloads API。