node.jsは初めてで、JSONの結果を含むzipファイルを返送しようとしています。私はそれを行う方法を理解しようとしてきましたが、期待した結果が得られていません。
私はNodeJS、ExpressJS、LocomotiveJS、Mongoose、MongoDBを使用しています。
モバイル指向のアプリケーションを構築しているので、できるだけ多くの帯域幅を節約しようとしています。
モバイルアプリの毎日の初期読み込みは大きなJSONドキュメントになる可能性があるため、デバイスに送信する前に圧縮したいと思います。可能であれば、ディスクI / Oを回避するために、すべてをメモリ内で実行したいと思います。
これまでに3つのライブラリで試しました。
- adm-zip
- node-zip
- zipstream
私が達成した最良の結果は、node-zipを使用することです。これが私のコードです:
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);
}
});
結果はダウンロードされたzipファイルですが、内容は読み取れません。
私は物事を混乱させているとかなり確信していますが、この時点まで私はどのように進めるかがわかりません。
何かアドバイスはありますか?
前進してくれてありがとう