How do I unzip a .zip/.rar file in Node.js into a folder

Rar is a closed-source software. The only way you can do it -- install command-line rar (rar.exe or linux version of rar, which is available on most platforms) and call it by means of this:

var exec = require('child_process').exec;

exec("rar.exe x file.rar", function (error) {
    if (error) {
     // error code here
    } else {
      // success code here
    }
});

There are plenty of node modules that can do this for you. One of them is node-unzip. You can extract a .zip file to a directory as simple as this.

fs.createReadStream('path/to/archive.zip').pipe(unzip.Extract({ path: 'output/path' }));

Further reading: https://github.com/EvanOxfeld/node-unzip

Tags:

Node.Js