Wie lade ich eine Zip-Datei in NodeJs herunter und entpacke sie?
Ich möchte eine Zip-Datei aus dem Internet herunterladen und im Speicher entpacken, ohne sie in einer temporären Datei zu speichern. Wie kann ich das machen?
Folgendes habe ich versucht:
<code>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 }); }); </code>
[BEARBEITEN] Wie vorgeschlagen, habe ich versucht, die adm-zip-Bibliothek zu verwenden, und ich kann dies immer noch nicht zum Laufen bringen:
<code>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 }); </code>