6

is it possible to specify the download location for a file from a Html page using JavaScript?

the function I am currently using to down my file is provided below.

function saveTextAsFile()
{      
    var textToWrite = document.getElementById("inputTextToSave").value;
    var textFileAsBlob = new Blob([textToWrite], {type:'xlsx'});
    var fileNameToSaveAs = "NAME.csv";
    var downloadLink = document.createElement("a");
    downloadLink.download = fileNameToSaveAs;
    window.URL = window.URL || window.webkitURL;
    downloadLink.href = window.URL.createObjectURL(textFileAsBlob);
    downloadLink.onclick = destroyClickedElement;
    downloadLink.style.display = "none";
    document.body.appendChild(downloadLink);
    downloadLink.click();
}

Thanks for your help in advance.

Niall_Maher
  • 141
  • 2
  • 2
  • 11

2 Answers2

7

Whether the browser asks the user or not is down to the preferences in the browser.

You can't bypass those preference, otherwise it would violate user's security.

What you can do is make sure you're sending the browser as much information as possible to help it make for a good user experience. If you're not already doing so, be sure to include a Content-Disposition header in the response to the download request, including a filename field:

Content-Disposition: attachment; filename=test.csv

Also see these other stackoverflow questions:
  Specify default download folder - possibly with JavaScript?
  Set file download destination using ExtJs

Stephen P
  • 13,862
  • 2
  • 43
  • 65
Darren Willows
  • 1,985
  • 12
  • 21
-4

Try https://web.dev/file-system-access/ showSaveFilePicker() also

test
  • 1
  • While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. - [From Review](/review/late-answers/31456559) – Christian Apr 06 '22 at 23:20