Jestem całkiem nowy dla node.js i próbuję odesłać plik zip zawierający wyniki JSON. Próbowałem to rozgryźć, ale nie przyniosłem oczekiwanych rezultatów.JSON Zip Response w node.js
Używam NodeJS, ExpressJS, LocomotiveJS, Mongoose i MongoDB.
Odkąd tworzymy aplikację mobilną, staram się oszczędzać jak najwięcej pasm.
Dzienne obciążenie początkowe aplikacji mobilnej może być dużym dokumentem JSON, dlatego chcę go spakować przed wysłaniem do urządzenia. Jeśli to możliwe, chciałbym zrobić to wszystko w pamięci, aby uniknąć operacji we/wy dysku.
Próbowałem z 3 bibliotek dotąd:
- ADM-zip
- node-Zip
- zipstream
Najlepszy rezultat osiąga się stosując ja node-zip. Oto mój kod:
return Queue.find({'owners': this.param('id')}).select('name extra_info cycle qtype purge purge_time tasks').exec(function (err, docs) {
if (!err) {
zip.file('queue.json', docs);
var data = zip.generate({base64:false,compression:'DEFLATE'});
res.set('Content-Type', 'application/zip');
return res.send(data);
}
else {
console.log(err);
return res.send(err);
}
});
Wynikiem jest pobrany plik zip, ale jego zawartość jest nieczytelna.
Jestem prawie pewna, że miksuję różne rzeczy, ale do tego momentu nie jestem pewien, jak postępować.
Dowolna porada?
Dzięki z advace
Dzięki chovy, zadziałało! – AkerbeltZ
Yikes to było łatwe. – prototype
Gdzie powinienem przechowywać oprogramowanie pośredniczące express.compress()? przed trasami i statyczną zawartością lub po nich? – arunkjn