只是寻找一个简单的解决方案,以下载并解压缩.zip
或.tar.gz
任何操作系统上的Node.js的文件.
不确定这是内置还是我必须使用单独的库.有任何想法吗?只需要几行代码,所以当下一个zip文件出现在我想要在节点中下载时,它就没那么明白了.感觉这应该很容易和/或内置,但我找不到任何东西.谢谢!
我想从互联网上下载一个zip文件并将其解压缩到内存而不保存到临时文件.我怎样才能做到这一点?
这是我尝试过的:
var url = 'http://bdn-ak.bloomberg.com/precanned/Comdty_Calendar_Spread_Option_20120428.txt.zip';
var request = require('request'), fs = require('fs'), zlib = require('zlib');
request.get(url, function(err, res, file) {
if(err) throw err;
zlib.unzip(file, function(err, txt) {
if(err) throw err;
console.log(txt.toString()); //outputs nothing
});
});
Run Code Online (Sandbox Code Playgroud)
[编辑]正如,建议,我尝试使用adm-zip库,我仍然无法使这项工作:
var ZipEntry = require('adm-zip/zipEntry');
request.get(url, function(err, res, zipFile) {
if(err) throw err;
var zip = new ZipEntry();
zip.setCompressedData(new Buffer(zipFile.toString('utf-8')));
var text = zip.getData();
console.log(text.toString()); // fails
});
Run Code Online (Sandbox Code Playgroud)