5

I am using EXT JS 4.2 which has a panel which contains a export to CSV button.

On clicking on it multiple (total six) files are downloaded. I want these files to be downloaded in a single ZIP file.

Prateek Ratnaker
  • 817
  • 11
  • 35

1 Answers1

6

There is a perfect plugin to create zip files inside browser.

JSZip: https://stuk.github.io/jszip/

Install the plugin by adding js files manually:

download JSZip and include the file dist/jszip.js or dist/jszip.min.js

JSFiddle - JSZip 3.0:

https://jsfiddle.net/andrebonna/u8zsbzau/

var zip = new JSZip();
for (var i = 0; i < 5; i++) {
    var CSV = 'CSV_content';
    // Fill CSV variable
    zip.file("file" + i + ".csv", CSV);
}

zip.generateAsync({
    type: "base64"
}).then(function(content) {
    window.location.href = "data:application/zip;base64," + content;
});
Pacerier
  • 86,231
  • 106
  • 366
  • 634
André Bonna
  • 807
  • 8
  • 13