私は grails アプリケーションに取り組んでいます。ファイル共有機能があります。ファイルをサーバーにアップロードし、ユーザーがサーバーからファイルをダウンロードできるようにします。これには次のコードを使用しました。
def file = new java.io.File(filePath)
response.setContentType( "application-xdownload")
response.setHeader("Content-Disposition", "attachment;filename=${fileName}")
response.getOutputStream() << new ByteArrayInputStream(file.getBytes())
このコードは小さなファイルでは問題なく動作しますが、ファイルのサイズが大きくなると、つまり 100MB を超えると、次のエラーが発生します。
java.lang.OutOfMemoryError: Java heap space
では、アプリケーションで大きなファイルをダウンロードできるようにするにはどうすればよいでしょうか? ありがとう