想知道如何使用 Node JS 提取 tbz 文件并保存到磁盘。示例代码将非常感激。
尝试过这样的事情:
var zlib = require('zlib');
var fs = require('fs');
var file = fs.createReadStream('/tmp.tbz');
var zip = file.pipe(zlib.createUnzip());
zip.on("data", function(data) {
console.log(data);
});
zip.on("error",function(error){
console.log(error);
});
但最终结果是:
{ [Error: incorrect header check] errno: -3, code: 'Z_DATA_ERROR' }
不确定我是否正确执行了此操作。
最佳答案
当我使用 zlib、node-tar 等进行测试时,未能找到用于提取 tbz 文件的 Node 库。最终使用“tar”命令实现了此 hack。
var util = require('util'),
spawn = require('child_process').spawn,
ls = spawn('tar', ['-C','/home/tony/Desktop','-xvf', '/home/tony/Desktop/tmp.tbz']);
ls.stdout.on('data', function (data) {
console.log(data);
});
ls.on('exit', function (code) {
console.log('child process exited with code ' + code);
});
我暂时接受我的答案,直到更好的答案出现。
关于node.js - NodeJS 提取 tbz 文件并保存到磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12545585/