Reputation: 443
So, I've been looking and trying to find a way to download a file automatically right when somebody goes onto my site. I've tried using an a tag to download, and it works, you just have to click to download it. Like so...
<a href="pic.jpg" download>Download</a>
But I don't want that. I want it to automatically download with no click. I need some help please!
Upvotes: 14
Views: 47946
Reputation: 645
Another option which is pure javascript is:
const downloadFile = (file) => {
const element = document.createElement('a');
element.setAttribute('href', 'Download Btn');
element.setAttribute('download', file);
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}
And then you can call the function on load:
downloadFile(/*pass your file here*/);
Upvotes: 4
Reputation: 875
Another way to do it :
var a = document.createElement('a');
a.setAttribute('href', dataUri);
a.setAttribute('download', filename);
var aj = $(a);
aj.appendTo('body');
aj[0].click();
aj.remove();
Upvotes: 9
Reputation: 2317
If it's an actual file (something that won't simply display in your browser like a JPG file) then you could use a javascript or meta redirect.
<script> document.location.href = 'yourfile.exe'; </script>
or
<meta http-equiv="refresh" content="0; url=yourfile.exe">
But I am wondering if you might be talking about the user being asked if they want to open or save a file (whether it's a JPG or whatever?)
Upvotes: 11