私はRESTサービスから大きなファイルをダウンロードしたい、私はコードを持っている:ジャージー1.17ダウンロード大きなファイル
@GET
@Path("/laboDownloadAnyType")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response laboDownload() throws FileNotFoundException
{
final String fileName = "SampleVideo_1280x720_50mb.mp4";
final InputStream fileInStream = new FileInputStream(fileName);
return Response.ok(fileInStream, MediaType.APPLICATION_OCTET_STREAM_TYPE)
.header("Content-Disposition", "attachment; filename=\"" + fileName + "\"") //optional
.build();
}
を、私は小さなファイルを使用しているとき、それは本当に素晴らしい作品が、今、私は大規模なファイルをダウンロードしたいです(500MBから3GBまで)私は得ています
java.lang.OutOfMemoryError: Java heap space
この問題を解決するにはどうすればよいですか?
使用FTPのログコミュをオフにする必要がありました。明らかに、メモリ内のファイル全体を保持しようとします...避けてください。 – Fildor
ああ、待ってください。 CodesnippetはServer-Side ...私はストリーミングソリューションがあることを覚えていると思います。 – Fildor
多分これは助けることができる:http://www.bhaveshthaker.com/22/sending-transfering-pushing-files-in-multiparts-chunks-from-server-to-client-with-restful-web-services-in- java / – Fildor