Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I let a user download multiple files when a button is clicked?

So I have a httpd server running which has links to a bunch of files. Lets say the user selects three files from a file list to download and they're located at:

mysite.com/file1  mysite.com/file2 mysite.com/file3 

When they click the download button I want them to download these three files from the links above.

My download button looks something like:

var downloadButton = new Ext.Button({   text: "Download",   handler: function(){     //download the three files here   } }); 
like image 694
Grammin Avatar asked Aug 26 '13 19:08

Grammin


People also ask

How do I trigger a download when clicking HTML button or JavaScript?

To trigger a file download on a button click we will use a custom function or HTML 5 download attribute. The download attribute simply uses an anchor tag to prepare the location of the file that needs to be downloaded.


1 Answers

The best way to do this is to have your files zipped and link to that:

The other solution can be found here: How to make a link open multiple pages when clicked

Which states the following:

HTML:

<a href="#" class="yourlink">Download</a> 

JS:

$('a.yourlink').click(function(e) {     e.preventDefault();     window.open('mysite.com/file1');     window.open('mysite.com/file2');     window.open('mysite.com/file3'); }); 

Having said this, I would still go with zipping the file, as this implementation requires JavaScript and can also sometimes be blocked as popups.

like image 161
T J Avatar answered Sep 28 '22 09:09

T J