Nadav96
Nadav96

Reputation: 1312

chrome.downloads.download ignores saveAs option and opens the dialog regardless

I'm trying to create an extension which downloads multiple files at once.

In order to accomplish that, I'm using chrome downloads api, here is the code (with AngularJS):

var fileDownloadProperties = function(raw) {
    return {
      url: "https:" + raw.url,
      filename: sharedDir + "/" + raw.name + "pdf",
      saveAs: false
    }
};
$scope.status = "";
filesToDownload.forEach(function (raw) {
  chrome.downloads.download(fileDownloadProperties(raw));
});

The problem is that when the script runs it ignores the saveAs option, and proceed with opening the save as dialog (the name and location are passed correctly, as they are the defaults in the dialog, but could be overwritten).

While it does allow me to download, it's not very useful as I can have over tens of files (and the next save dialog will open only when the previous file finished downloading!).

Is there a way to force chrome to download files silently and simultaneously? I tried other solutions (like the code below), but none seems to avoid the dialog from opening.

var a = document.createElement("a");
a.href = files[0];
a.download = files[0];
a.click();  

Any help will be greatly appreciated, thanks.

Upvotes: 8

Views: 2959

Answers (2)

Morfinismo
Morfinismo

Reputation: 5243

The answer provided by Jenna is an acceptable workaround, however, forcing users to change their preferences is not something I will take as an "Accepted solution". There is an issue filed for this bug on this thread.

I guess the only possible way of having a correct fix is for the chrome team to stand up and fix this issue for us developers. I would recommend to put more pressure on the thread by adding a comment indicating why you need this to be fixed and how urgent it is. Also and most important, make sure you click the star to have the issues starred as they will pay more attention to it.

enter image description here

Upvotes: 2

Jenna Leaf
Jenna Leaf

Reputation: 2452

You can instruct your user to set Chrome settings to have

Ask where to save each file before downloading

"Save As" turned on/off.

https://lifehacker.com/make-chrome-ask-where-to-save-downloaded-files-by-chang-1790840372

Upvotes: 5

Related Questions