.bz2管道提取与Node.js?

时间:2013-02-01 21:47:43

标签: node.js stream gzip tar bzip2

我想通过带有node.js的tar.gz提取 .tar.bz2 ,如下所示:

request.get("localhost/file.tar.gz")
.pipe(zlib.createGunzip())
.pipe(tar.Extract({path: "./test"}))
.on("error", function(err){
    console.log("Error on extract", err);
})
.on("end", function(){
    console.log("done.");
});

部分“zlib.createGunzip()”应该用bz2-deflator代替。有谁知道这个问题的工作包?

由于

2 个答案:

答案 0 :(得分:0)

他们也在讨论同样的问题:https://github.com/cscott/seek-bzip/issues/1

答案 1 :(得分:0)

使用https://github.com/regular/unbzip2-stream

然后https://github.com/mafintosh/tar-fs

不是我的仓库。

示例:

const fs = require('fs');
const bz2 = require('unbzip2-stream');
const tarfs = require('tar-fs');

fs.createReadStream('foo.tar.bz2').pipe(bz2()).pipe(tarfs.extract('data'));

上面的示例会将foo.bar.bz2提取到data/目录中。