すべてがうまくいきますが、ファイルが小さくても約1MBですが、20MBのような大きなファイルで試してみると、ダウンロードするのではなく、今まで多くのヘッダーを試しましたが、現在のコードはブラウザにファイルをダウンロードさせるにはどうすればいいですか?
PrintWriter out = response.getWriter();
String fileName = request.getParameter("filename");
File f= new File(fileName);
InputStream in = new FileInputStream(f);
BufferedInputStream bin = new BufferedInputStream(in);
DataInputStream din = new DataInputStream(bin);
while(din.available() > 0){
out.print(din.readLine());
out.print("\n");
}
response.setContentType("application/force-download");
response.setContentLength((int)f.length());
response.setHeader("Content-Transfer-Encoding", "binary");
response.setHeader("Content-Disposition","attachment; filename=\"" + "xxx\"");//fileName);
in.close();
bin.close();
din.close();
コンテンツタイプを設定する必要があります。どのブラウザですか? –
どのブラウザですか?オクテットストリームは正解でなければなりませんが、古いバージョンのIEは、ウェブサーバが何を言っていたかにかかわらずコンテンツタイプを "嗅ぐ"ことを試みました – Paolo
クロム、ff3.6、そしておそらく... – dieeying