フレームワークをプレイするのは初めてです。私は、再生アプリケーションがデータウェアハウスから結果セットを取得してクライアントに返すシナリオを持っています。私はByteArrayOutputStreamと チャンク転送エンコーディングを使用して、作業を達成する作業コードを持っています。私は結果セットからExcelブックを構築し、file.But問題はByteArrayOutputStreamがメモリを使用することであるとして、それを書くためにByteArrayOutputStreamを使用サーバーメモリを使用せずにPlayフレームワーク内の動的結果セットからExcelファイルをダウンロードしてダウンロードする方法
val responseStream: java.io.ByteArrayOutputStream = new ByteArrayOutputStream()
val sheetOne = Workbook {
...
}
val workbookImpure = new WorkbookImpure(sheetOne)
workbookImpure.saveToStream(responseStream)
Ok.chunked(
Enumerator(responseStream.toByteArray).andThen(Enumerator.eof)
).as("application/vnd.ms-excel").withHeaders("Content-Disposition" -> s"attachment; filename=*filename*.xls")
、以下のとおりです。
メモリを使用せずに(Ok.chunked()を使用して)ダウンロード用のファイルをレンダリングする方法がプレーフレームワークにあるかどうかを知りたいと思います。
ありがとうございました。