2016-05-31 4 views
0

モジュールexceljsを使用してxlsxブックを作成しています。これをエクスプレスミドルウェアで添付ファイルとして送信します。添付ファイルノードとして書き込み可能なストリームを送信する

私が作成し、ストリームが書き込み可能なストリームであるモジュール

var stream = fs.createWriteStream('test.xlsx');  
    // write to a stream 
    workbook.xlsx.write(stream) 
     .then(function() { 
      // done 
    }); 

のドキュメントに示すように、次のコードを使用してストリームに私のブックを保存します。

私の問題は、ストリームを送信するためにストリームを処理する方法を理解できないことです。 それをパイプレットに戻そうとするとstream.pipe(res)はパイプで読むことができないエラーです。

今、私にとって最善の行動は何ですか?

P.S.私はそれをサーバーのファイルに保存してからファイルを読み込んで、エクスプレスで送信することができました。それはあとで添付ファイルが必要ないので私を助けませんし、私が好きではない回避策です。

答えて

1

あなたはストリームを持っている場合は、速達での添付ファイルとして送信するために次の操作を行うことができます:私はstream.pipe上に書いたように

res.attachment('yourfile.xlsx'); stream.pipe(res);

+0

(RES)はエラーになります。 "処理できない拒否エラー:パイプできません。読み込み不可" – cs04iz1

+0

コンテキストが表示されるようにコードが少しありますか?ストリームの作成方法など。 – Hyra

+0

ストリームの作成を追加しました。私が適切に始まっていないと思うならば、私は提案することができます。 – cs04iz1

関連する問題