downloads.removeFile()

The removeFile() function of the downloads API removes a downloaded file from disk.

This API removes the file from disk, but does not remove it from the browser's downloads history, therefore a call to downloads.search() will still return the item as a DownloadItem, but its exists attribute will be false.

To remove a file from the downloads history, you need to use downloads.erase().

Note: If you want to remove a downloaded file from disk and erase it from history, you have to call removeFile() before you call downloads.erase(). If you try it the other way around you'll get an error when calling removeFile(), because the browser will no longer have a record of the download.

Syntax

chrome.downloads.removeFile(
  downloadId,      // integer
  function() {...} // optional function
)

This API is also available as browser.downloads.removeFile() in a version that returns a promise.

Parameters

downloadId
An integer representing the id of the DownloadItem you want to delete from disk.
callbackOptional
An optional callback function, which when included is invoked when the removeFile() call completes.

Browser compatibility

Chrome Edge Firefox Firefox for Android Opera
Basic support Yes No 48.0 48.0 33

Examples

The following snippet (taken from our latest-download example) shows the code that is run when the remove item button is pressed. Here we invoke both the downloads.erase() and removeFile() functions, which remove the file from the download history, and from the actual disk, respectively.

function removeItem() {
  if (!document.querySelector("#remove").classList.contains("disabled")) {
    chrome.downloads.removeFile(latestDownloadId);
    chrome.downloads.erase({id: latestDownloadId});
    window.close();
  }
}

This pattern works for cases where you've got a single item to erase/remove. When you want to delete multiple files at once, you'd have to do something like this:

deleteBtn.onclick = function() {
  chrome.downloads.search({}, function(results) {
    for(var i = 0; i < results.length; i++) {
      chrome.downloads.removeFile(results[i].id);
      chrome.downloads.erase({ id : results[i].id });
    }
  });
}

Example add-ons

Acknowledgements

This API is based on Chromium's chrome.downloads API.

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

Document Tags and Contributors

 Contributors to this page: Makyen, wbamberg, chrisdavidmills
 Last updated by: Makyen,