私はNodeJSの新機能です。私は、pipe()メソッドを使用してクライアントにデータをストリームできることを知っています。ここで拡張機能を連結してWriteStreamをパイプする方法は?
はコード
router.get('/archive/*', function (req, res) {
var decodedURI = decodeURI(req.url);
var dirarr = decodedURI.split('/');
var dirpath = path.join(dir, dirarr.slice(2).join("/"));
console.log("dirpath: " + dirpath);
var archive = archiver('zip', {
zlib: {level: 9} // Sets the compression level.
});
archive.directory(dirpath, 'new-subdir');
archive.on('error', function (err) {
throw err;
});
archive.pipe(res)
archive.on('finish', function() {
console.log("finished zipping");
});
archive.finalize();
});
私は任意の拡張子ずにget要求zipファイルをダウンロードしたが、を使うの抜粋です。私はそれを知っています。なぜなら、私はレスポンスに筆記ストリームを配っているからです。とにかく.zip拡張子をつけたパイプがありますか?または、HDDにzipファイルを作成せずにzipファイルを送信するにはどうすればよいですか?
しかし、私はhddにzipファイルを作成したくありません。私は、アーカイバモジュールの結果を応答 –
としてパイプ処理したいだけです。慎重にリンクしたドキュメントをお読みください。すべての 'res.attachment'はHTTPヘッダーを設定します。 – robertklep
さて、私はそれを得た。添付ファイルを送信する前に、そのコンテンツタイプとコンテンツの処理権を変更しますか? –