springmvcモードをアップロードし、ダウンロードしてください

springmvcモードと接触した後、最後のアップロードとダウンロードの最適化、

最後に見てここに

ここではアップロード機能はまだアップロードするためのフォームです。ファイル形式はまだあります

    <フォームアクション= "$ {pageContext.request.contextPath} /アップロード" METHOD = "POST" のenctype = "マルチパート/フォームデータ">

背景があります

@RequestMapping( "/アップロード" パブリック文字列アップロード(MultipartFileファイル、文字列ユーザ名、HttpServletRequestのリクエスト)スローIOExceptionが{
        文字列filename = file.getOriginalFilename()。

        文字列の接尾辞 = filename.substring(filename.lastIndexOf( "" ));

        もし(suffix.equalsIgnoreCase( "JPG" )){
            UUID文字列 = UUID.randomUUID()のtoString();.
             // FileUtils.copyInputStreamToFile(file.getInputStream()、新新しいファイル( "E:// " + UUID +サフィックス)); 

            file.transferTo(新しい新しいファイル(「D :// "+のSystem.currentTimeMillis()+サフィックス)); // 位置のハードディスクに保存されている
 //             。file.transferTo(新しい新しいファイル(request.getServletContext()getRealPath(" / ")+"静的/ userImages / "ファイル+));
 //             ディレクトリにプロジェクトに保存されている 
            request.setAttribute(「結果」、「成功したアップロード」);
             リターン「/result.jsp」
        } {
            request.setAttribute( "結果"、 "上传失败" )。
            リターン「/result.jsp」
        }
    }

以前の伝統的なアップロードさと比較すると、モードspringmvcは、多くの退屈なプロセスをカプセル化し、いくつかの対応する操作で実現することができるtransferTo

ダウンロードは、適切な多くを簡素化

@RequestMapping( "/ダウンロード" 公共 ボイドダウンロード(文字列のファイル名、HttpServletResponseの応答、HttpServletRequestのリクエスト)がスローIOExceptionが{
        response.setHeader( "コンテンツ配置"、 "添付ファイル;ファイル名=" + ファイル名)。

        ServletOutputStreamを出力ストリーム = response.getOutputStream()。

        文字列パス = request.getServletContext()getRealPath( "イメージ"。 )。

        ファイルファイル = 新しいファイル(パス、ファイル名);

        バイト []バイト= FileUtils.readFileToByteArray(ファイル)。

        outputStream.write(バイト)。

        outputStream.close();
    }

一般的なフレームワークは、反復作業の多くを保存しますが、プロセスの基礎となる基本原理またはクリアするだろう

おすすめ

転載: www.cnblogs.com/lin530/p/11794769.html