ブラウザへ1.出力メッセージ
1.ServletOutputStreamのgetOutputStream()は、IOExceptionがスロー。
2.PrintWriterにgetWriter()はIOExceptionがスロー。
ファイルをダウンロード2.
1.ダウンロードしたファイルのパスを取得するには
2.ダウンロードしたファイル名が有効です
3.設定は、私たちが必要なものをサポートできるブラウザをダウンロードする方法を見つけます
ファイル入力ストリームをダウンロードするには、Get 4.
バッファを作成します。5.
OutputStreamオブジェクトを取得します。6.
7.バッファはバッファたFileOutputStreamストリームに書き込まれます。
8. OutputStreamの出力データをクライアントにバッファ
コード:
@Overrideは
、ボイドのdoGetを(REQのHttpServletRequest、HttpServletResponseのRESP)ServletExceptionが、IOExceptionがスロー保護{
// 1.ファイルのダウンロードパスを取得するには
文字列のrealpath =「Eを:\\独立した研究\\ hao_web01 \\応答\\ SRC \\メイン \ \ resouces \\ HuHaoの.png ";
System.out.printlnは("ダウンロードしたファイル: "+実パス);
// 2.ダウンロードしたファイルの名前が何であるか
のString fileNameに= realPath.substring(realPath.lastIndexOf(" \ \「)+ 1);
サポートにブラウザをしようとして// 3.セット(コンテンツ処分)私たちが必要なものをダウンロードし、中国のファイル名URLEncoder.encodeコーディング、またはそれが文字化けすることがあり
resp.setHeader(」コンテンツディスポジション」 、 "添付ファイル、ファイル名が=" + URLEncoder.encode(ファイル名、 "UTF-8"));
ダウンロードするため// 4.ファイル入力ストリーム
のFileInputStream = FileInputStreamを(実パス)に新しい新規;
// 5。Aバッファを作成
int型のlen = 0;
バイト[]バッファ=新しい新しいバイト[1024];
// 6取得OutputStreamオブジェクト
ServletOutputStreamをresp.getOutputStream OUTを=();
// 7バッファがバッファたFileOutputStreamストリームに書き込まれ
、一方((LEN = in.read(バッファ))> 0){
out.write(バッファ、0、LEN);
}
// 8の出力データがクライアントにバッファ使用のOutputStream
in.close();
out.close();
}