Webアプリケーションで巨大なファイルのダウンロードを行う場合はダウンロードするコンテンツをすべてメモリ上に読み込むのではなく、少しずつ読み込みながら逐次レスポンスを書き出していく必要があります。Play2ではこのような場合、Enumeratorを使ってレスポンスを返却します。 サーバ上のファイルを直接返却する場合は以下のようにEnumerator#fromFile()メソッドを使用します。 def download = Action { val file = new java.io.File("/tmp/fileToServe.pdf") val fileContent: Enumerator[Array[Byte]] = Enumerator.fromFile(file) SimpleResult( header = ResponseHeader(200, Map(CONTENT_LE