1

I am trying to zip the file and download from server using easy-zip module. But now I can write into a server using following code but how can i make it downloadable???

var app = require('express')();
var easyzip = require('easy-zip');

app.get('/api/downloadFile',function(req,res){
    console.log("inside req");
    var data = "<html><body><h1>Inside new Html</h1></body></html>";
    var zip2 = new easyzip.EasyZip();
    var jsFolder = zip2.folder('data');
    jsFolder.file('app.js','alert("hello world")');
    jsFolder.file('index.html',data);
    zip2.writeToFile('folder.zip');
});
Tharif
  • 13,794
  • 9
  • 55
  • 77
Dinesh
  • 426
  • 5
  • 15
  • Send the appropriate headers. Example (although for PHP) can be seen here: http://stackoverflow.com/a/8485963/1169798 – Sirko Jun 17 '15 at 11:53

2 Answers2

2

Try zip2.writeToResponse(res,'folder.zip'); instead of zip2.writeToFile('folder.zip');

x-ray
  • 3,279
  • 5
  • 24
  • 37
0

Instead of write into a file write into a response

var app = require('express')();
var easyzip = require('easy-zip');

app.get('/api/downloadFile',function(req,res){
    console.log("inside req");
    var data = "<html><body><h1>Inside new Html</h1></body></html>";
    var zip2 = new easyzip.EasyZip();
    var jsFolder = zip2.folder('data');
    jsFolder.file('app.js','alert("hello world")');
    jsFolder.file('index.html',data);
    zip2.writeToResponse(res,'folder');
    res.end();
})
Dinesh
  • 426
  • 5
  • 15