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,538
  • 9
  • 54
  • 76
Dinesh
  • 396
  • 5
  • 13
  • 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,139
  • 5
  • 22
  • 34
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
  • 396
  • 5
  • 13