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-
一个代表您想从磁盘删除的
DownloadItemID 的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。