Я хотел бы получить zip-файл из URL-адреса, распаковать его, затем сохранить извлеченный файл и одновременно обработать файл.
Если я использую unzip.Extract (), то он загружает файл. Если я использую unzip.Parse (), то он обрабатывает загруженный файл (если он уже есть). Но таким образом я должен выполнить свой код 2x и закомментировать одну из них, так что это не очень хорошее решение.
Я попытался запустить команду 2., когда закончил сначала, но она никогда не завершается:
https.get(url, function (response) {
var stream = response.pipe(unzip.Extract({path:"./"}));
stream.on('finish', function () {
response.pipe(unzip.Parse())
.on('entry', function (entry) {
var json = JSON.parse(fs.readFileSync(entry.path));
resolve(json.features[0]);
});
});
});
Я также пытался решить проблему с adm-zip и zlib.
Это был мой оригинальный код:
https.get(url, function (response) {
response.pipe(unzip.Extract({path:"./"}));
response.pipe(unzip.Parse())
.on('entry', function (entry) {
var json = JSON.parse(fs.readFileSync(entry.path));
resolve(json.features[0]);
});
});