フォーム:
< フォームアクション= "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(要求、応答)。 } }
フォームがサーブレットに提出された後、ローカルファイルがサーバー指定されたディレクトリにアップロードされて達成することができます。