downloads.removeFile()

该 **removeFile()** 函数是 downloads API 的一部分,它用于从磁盘中删除已下载的文件。

此 API 会从磁盘中删除文件,但不会从浏览器的下载历史记录中删除它,因此对 downloads.search() 的调用仍将返回该项目作为 DownloadItem,但它的 exists 属性将为 false

要从下载历史记录中删除文件,您需要使用 downloads.erase()

这是一个异步函数,它返回一个 Promise

注意:如果您想从磁盘中删除已下载的文件从历史记录中删除它,您必须在调用 downloads.erase() 之前调用 removeFile()。如果您尝试反过来操作,在调用 removeFile() 时会收到错误,因为浏览器将不再记录该下载。

语法

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

参数

downloadId

一个 integer,代表您要从磁盘中删除的 DownloadItem 的 ID。

返回值

一个 Promise。如果请求成功,promise 将以无参数的方式完成。如果请求失败,promise 将被拒绝并显示错误消息。

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。

示例

删除最近下载的文件

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。