JSPファイルのダウンロード

<ahref="DownloadServlet?fileName=殷志源03.jpg">ダウンロード写真</a>に

パッケージorg.student.servlet; 

インポートのjava.io.File;
輸入java.io.FileInputStream;
インポートにjava.io.IOException;
輸入java.io.InputStreamを。

輸入javax.servlet.ServletException;
インポートのjavax.servlet.ServletOutputStream。
輸入javax.servlet.annotation.WebServlet;
輸入javax.servlet.http.HttpServlet。
インポートのjavax.servlet.http.HttpServletRequest;
インポートのjavax.servlet.http.HttpServletResponse; 

輸入org.apache.commons.io.IOUtils。

/ ** 
 *サーブレット実装クラスするDownloadServlet 
 * / 
@WebServlet("/するDownloadServlet" パブリック クラスするDownloadServletが延びHttpServletを{
     プライベート 静的 最終 長いのserialVersionUID = 1L 
       
    / ** 
     * @see のHttpServlet#HttpServletを()
      * / 
    パブリックするDownloadServlet(){
         スーパー();
        // TODO自動生成されたコンストラクタスタブ
    } 

    / ** 
     * @see のHttpServlet#のdoGet(HttpServletRequestのリクエスト、HttpServletResponseの応答)
      * / 
    保護された 無効doGet(HttpServletRequestのリクエスト、HttpServletResponseの応答)スローServletExceptionがは、IOException {
         //を1符号化配置。 
        ( "UTF-8" Request.setCharacterEncoding );
         // 2は、ダウンロードしたファイル名を取得する 
        文字列fileNameに= request.getParameter( "ファイル名" )。    
         // メッセージのヘッダーを設定する必要が3つのダウンロードファイルは、現在のダウンロード中国名が文字化け解決することはできません 
        Response.Addheader(「コンテンツタイプ」、「アプリケーション/オクテットストリームを」); // MIMEタイプ:バイナリファイル(任意のファイル)
        Response.Addheader ( ;「コンテンツディスポジション」、「添付ファイル;ファイル名=」+ fileNameに)// abc.txtという名前:filenameファイルの拡張子が含ま
         // ファイルの絶対パスを4
        ストリングのrealpath = "D:\\ studyJspForUpload \\ newUpload" // 5.创建文件对象 
        ファイルファイル= 新しいファイル(実パスファイル名);
        もし(!file.exists()){ 
            。response.getWriter()書き込み( "文件不存在" );
            リターン; 
        } 
        IOUtils.copy(新しいFileInputStreamを(ファイル)、response.getOutputStream())。
    } 

    / ** 
     * @see のHttpServlet#のdoPost(HttpServletRequestのリクエスト、HttpServletResponseの応答)
      * / 
    保護された 無効doPostメソッド(HttpServletRequestのリクエスト、HttpServletResponseの応答)スローServletExceptionがは、IOException {
         // TODO自動生成方法のスタブ
        のdoGet(要求、応答)。
    } 

}

 

おすすめ

転載: www.cnblogs.com/ejwbytshooting/p/12590047.html