ファイルのアップロード
ステップ1:プロパティの設定JSPページのフォーム
要求アドレスの行動値、代表的な実施形態の方法リクエストは、フォームファイルアップロード要求モードでなければならないPOST。
enctype = "multipart / form-データ " ファイルアップロードフォームに必要な値
< フォームアクション=「/第一/ファイルアップロード」方法=「POST」のenctype =「マルチパート/フォームデータ」> < 入力タイプ=「ファイル」名=「ファイル」> < 入力タイプ=「ファイル」名=「ファイル」> < 入力タイプ= "提出" 値= "提交" > </ フォーム>
ステップ2:書き込み制御方法
提出前のファイル方法の最初のパラメータ、パラメータ名とフォームは、同じではないの使用に同じ名前を付ける必要がある@RequestParamのセットを
@Controller @ RequestMapping( "/ファースト" ) のパブリック クラスFirstController { // ファイルアップロード RequestMapping( "/するFileUpload" @ ) 公共の 文字列のFileUpload(@RequestParam MultipartFile []ファイル、HttpSessionのセッション)がスローにIOException { String型のrealpath = session.getServletContextを( ).getRealPath(「/ IMG」); //ディレクトリIMGのターゲットディレクトリのフルパスを取得
//ファイルオブジェクトの各サイクルを得る ために(MultipartFileアイテム:ファイル){
//ファイルの元の名前取得する 文字列fileNameに = item.getOriginalFilename (); ファイルファイル = 新しい新ファイル(実パスは、ファイル名); System.out.printlnは(ファイル);
//書き込みファイルファイル最低スケジューリングディスク書き込み()メソッドに。 Item.transferTo(ファイル); } リターン "購入可能な" ; } }
ステップ3:xmlファイルのアップロードパーサで設定
豆のID値でなければなりませんmultipartResolver
<! - ファイルアップロードパーサ- > < 豆上記のid上記= "MultipartResolver" クラス= "org.springframework.web.multipart.commons.CommonsMultipartResolver" > <! - 文字セットのファイルアップロード- > < プロパティ名= "defaultEncoding" 値= "UTF-8" > </ プロパティ> <! - ファイルの合計サイズ- > < プロパティ名= "maxUploadSize" 値= "50億" > </ プロパティ> <! - 単一のファイルサイズ- > <プロパティ名=「maxUploadSizePerFile」値= "50000000" > </ プロパティ> </ 豆>
ダウンロード
// ファイルのダウンロード RequestMapping(「/ FileDownload」@ ) 公共 <ResponseEntity バイト []>ダウンロード()がスローにIOException { // ドキュメントの準備 ファイルファイル= 新しい新しいファイル(「ファイルのフルパスを」;) // 中国のファイル名を解決する文字化け(中国名の設定ファイル) // GetBytesメソッド()は、投げたりキャッチ例外する必要がある 文字列のファイル名= 新しい新しい文字列(.getBytes ".txtのファイルのダウンロード"( "UTF-8")、 "ISO8859-1" ); // 設定応答ヘッダ HttpHeadersヘッダー= 新しい新しいHttpHeaders(); headers.setContentDispositionFormData( "添付ファイル"、ファイル名); // STREAM流れるようにコンテンツタイプを設定し headers.setContentType(MediaType.APPLICATION_OCTET_STREAMを); // readFileToByteArray()スローやキャッチ例外が必要と 返す 新しい新しい ResponseEntityを< バイト []> (FileUtils.readFileToByteArray(ファイル)、ヘッダ、HttpStatus.OK) ; }