Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to specify download location in Html using JavaScript

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.

like image 270
Niall_Maher Avatar asked Nov 09 '15 15:11

Niall_Maher


1 Answers

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

like image 152
Darren Willows Avatar answered Oct 26 '22 15:10

Darren Willows