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。