4

クラウド ファイルのコンテンツをダウンロードとして提供するエクスプレス アプリでルートを提供しています。クラウド ファイルの入力ストリームにアクセスできるので、それを直接応答の出力ストリームにパイプしたいと考えています。ただし、入力ストリームをサポートしていないように見えるエクスプレスを使用しています。

私はこれができることを望んでいました:

res.send (cloudInputStream);

しかし、これは機能しません。Express の send は本体またはバッファを取りますが、明らかに入力ストリームではありません。

そのため、res.setHeader() を使用してヘッダーを設定し、生の出力ストリームにアクセスしてから、次のようにします。

cloudInputStream.pipe (responseOutputStream);

これは可能ですか?

または、入力ストリームをバッファーに読み取り、そのバッファーを送信するように指定することもできます。ただし、これはクラウド ファイルの内容全体を一度にメモリに読み込むため、これは避けたいと思います。

何かご意見は?

4

2 に答える 2

4

ノードができることは何でもできます。ストリームにはパイプを使用し、ヘッダー フィールドには res.set を使用するか、res.sendfile を使用します。

于 2013-01-26T00:42:16.530 に答える