レスポンス03 MAVENプログレッシブダウンロードファイルフォロースルー

ブラウザへ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();
}

 

おすすめ

転載: www.cnblogs.com/huhao2000/p/11939777.html