I want to be able to download a given file when pressing a button.The file will be provided via an API
call.For now, I will have it in my local storage.
So my folder is something like :
rootFolder
-JS file
-HTML file
-download file (`sample.csv`)
How can I create a download link
?
I have tried so far with :
<a download="sample.csv"></a>
I have also tried using an onclick
event:
<a download="sample.csv" onclick="download()"></a>
function download|(){
.....code that calls the `api`
}
I do not know how these 2 fit: the download
API if there is one and the click
event handler if you plan to do additional logic when downloading.
You can provide the link to this function to download the file :
function downloadURI(uri, name)
{
var link = document.createElement("a");
link.download = name;
link.href = uri;
link.click();
}
since the answer from @saibbyweb does not work in all browsers as I write this, i recommend an other but similar solution, tested and working in latest (as of writing) Firefox, Chrome, Opera, Edge, Safari, mobile Safari, mobile Chrome:
function downloadUrl(url){
window.open(url, '_self');
}
Needless to say you could also open links in new Tabs with _blank instead of _self, but you potentially startle Popup-Blockers by opening new tabs/windows with Javascript.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With