クライアントからファイルのダウンロードを開始しようとしています。私が持っているのは、サーバー側のバイナリを含む InputStream だけです。どういうわけか、それをチャンクで OutputStream にダンプする方法を見つける必要があります (一度にバイト配列全体を書き込もうとしたところ、ファイルが 100MB を超えているため、OutOfMemoryException に遭遇しました)。どんな助けでも大歓迎です...
質問する
567 次
1 に答える
3
読み取りと書き込みを同時に行います。
import org.apache.commons.fileupload.util.Streams;
import org.apache.commons.io.FileUtils;
long size = sourceFile.length();
if (size <= Integer.MAX_VALUE)
response.setContentLength((int)size);
InputStream in = FileUtils.openInputStream(sourceFile);
OutputStream out = response.getOutputStream();
Streams.copy(in, out, false);
于 2012-04-19T09:52:25.323 に答える