サーバーにアップロードローカルファイル

フォーム:

 

< フォームアクション= "A" メソッド= "ポスト" のenctype = "マルチパート/フォームデータ" >  <! - 是上传表单- > 
    用户名:< 入力タイプ= "テキスト" 名前= "ユーザ名" > < BR /> 
    文件:< 入力タイプ= "ファイル" = "FILE1" > < BR /> 
    < 入力タイプ= "提出" = "提交" > 
 </ 構成>

 

サーブレット:

 

パブリック クラスは、サーブレットのインクルードは、拡張HttpServletを{
     公共 のdoGet(HttpServletRequestのリクエスト、HttpServletResponseの応答)がスローServletExceptionが、IOExceptionが{
         // 1.ファイルアップロードファクトリクラスを作成 
        DiskFileItemFactory FACを= 新しい新しいDiskFileItemFactoryを();
         // 2.ファイルアップロードベースのコアを作成 
        ServletFileUploadのアップロードを= 新しい新しいServletFileUpload(FAC);
         // [最大の単一ファイルアップロードサイズ設定:30M] 
        upload.setFileSizeMax(×1024 30 * 1024 );
         // [合計最大ファイルアップロードサイズ設け:50M] 
        (50×1024 upload.setSizeMaxを* 1024年);

        //は、フォームがファイルアップロードフォームであるか否かを判断する
        IF (upload.isMultipartContentが(リクエスト)){
             // 要求されたデータオブジェクトの集合に変換される3. FileItem 
            試して{
                リスト <FileItem>商品= upload.parseRequest(要求);
                 // 各項目を介してアップロードする
                ため(FileItemアイテム:アイテム){
                     // 次いで、一般的な形式又はファイルアップロードフォームを決定
                    IF (item.isFormField()){
                         // 正規形 
                        のSystem.out.println( "正規形" );
                         //は、要素の名前を取得する 
                        文字列fileNameに= item.getFieldNameを();
                         // テキストボックスの値の取得 
                        String値を= item.getString( "UTF-8" );
                        System.out.println(fileNameに + ":" + 値)。

                    } {
                         // プロセスのファイルのアップロード

                        // 取得アップロードされたファイル名の 
                        文字列名= item.getName();
                        System.out.println(名);
                        // ファイルストレージのパスを指定し、アップロードディレクトリのパスを取得します 
                        。:文字列basePathを=「/のIntelliJ IDEA 2018年2月4日/ DynamicWeb / SRC / G」   / * 絶対パス、ストレージサーバへのパス* / 
                        // 作成したファイルオブジェクト 
                        ファイルを=ファイルの新しい新しいファイル(basePathを、名);
                         試して{
                            item.write(ファイル);
                        } キャッチ(例外e){
                             // TODO自動生成キャッチブロック
                            e.printStackTrace();
                        } // 書き込みファイル 
                        item.delete(); // 一時ファイルを削除
                    }
                }
            } キャッチ(FileUploadException電子){
                 // TODO自動生成キャッチブロック
                e.printStackTrace();
            }
        } {
        System.out.println(「例外が処理されないファイルアップロード!」);
    }

    }

    公共 ボイドのdoPost(HttpServletRequestのリクエスト、HttpServletResponseの応答)が
             スローServletExceptionがは、IOException {
         この.doGet(要求、応答)。
    }
}

 

フォームがサーブレットに提出された後、ローカルファイルがサーバー指定されたディレクトリにアップロードされて達成することができます。

 

おすすめ

転載: www.cnblogs.com/chiweiming/p/11729148.html