SpringMVCのファイルのアップロード
1.関連する依存性
<依存> <groupIdを>コモンズ-ファイルアップロード</ groupIdを> <たartifactId>コモンズ-ファイルアップロード</たartifactId> <バージョン> 1.3。3 </バージョン> </依存関係>
2. [設定springmvc-servlet.xmlアップロードファイルパーサ
<豆上記のid = 「MultipartResolver 」 クラス = 「org.springframework.web.multipart.commons.CommonsMultipartResolver 」 > <! -とコンテンツの正しい形式解決するために、JSP pageEncodingは契約を表示しなければなりませんユーザー- > <プロパティ名を= " defaultEncoding "値= " UTF-8。" > </プロパティ> <! -ファイルの最大サイズ(バイト)1024 * 1024 * 50 = 50M - > <プロパティ名= " maxUploadSize "値= " 52428800 " > </プロパティ> <!--resolveLazilyプロパティは異常取り込むために、ファイルの解析、ファイルのサイズを遅らせるために有効になっています - > <プロパティ名= " resolveLazily "値= " 真" /> </豆>
3.upload.jsp:
<% - のIntelliJ IDEAによって作成されます。 ユーザー:管理者 日付:2019年 / 9 / 29 時間:20:28 に変更するには、このテンプレートを使用するファイルを| 設定| ファイルのテンプレート。 - %> <%@ページのcontentType = " text / htmlの;のcharset = UTF-8 "言語= " javaの"%> <HTML> <HEAD> <TITLE>文件上传</ TITLE> </ HEAD> <BODY> <フォームアクション= " $ {pageContext.request.contextPath} /アップロード"" ENCTYPE = " マルチパート/フォームデータ" > 上传文件:の<input type = " ファイル"名= " IMG " > <ボタンタイプは、= " 提出" >提交</ボタン> </ FORM> </ BODY> </ HTML>
HelloController:
(@RequestMapping " /アップロード" ) パブリック文字列(MultipartFileのIMG)をアップロードすることにIOException {スロー FileUtils.copyInputStreamToFile(img.getInputStream()、新しいファイル(" D:/ YYY / " + img.getOriginalFilename()))を、 戻る 「前進:アップロード」; }
JSONの処理
上記プラスの方法ではこのコメントのように@ResponseBody
@ResponseBody @RequestMapping(" / jsonData1 " ) 公共の一覧<地図> jsonData1(){ 返す bookservice.listPager(新しいブック()、新しいPageBeanを()); } @ResponseBody @RequestMapping(" / jsonData2 " ) 公共の地図jsonData2(){ 返す bookservice.listPager(新しいブック()、新しい PageBeanを())。取得(0 ); }
ツール化するJsonResult:
;パッケージcom.psy.util パブリック クラス化するJsonResult { // トラフィック状態に応じて プライベート整数ステータス; // 応答メッセージ プライベート文字列MSG; // データ応答 プライベートオブジェクトデータ; プライベート文字列のOKが; // 使用していない 公共の 静的を構築するするJsonResult (ステータス整数、文字列MSG、データオブジェクト){ 戻り 新しい新しい化するJsonResult(ステータス、MSG、データ); } パブリック 静的{(データオブジェクト)化するJsonResult OK を返す 新しい新;(データ)化するJsonResultを } 公共の 静的化するJsonResult OK(){ 返す 新しい化するJsonResult(ヌル)。 } パブリック 静的化するJsonResult errorMsg内容(文字列MSG){ 戻り 新しい化するJsonResult(500、MSG、ヌル)。 } パブリック 静的化するJsonResult errorMap(オブジェクトデータ){ 戻り 新しい化するJsonResult(501、" エラー" 、データ)。 } パブリック 静的化するJsonResult errorTokenMsg(文字列MSG){ 戻り 新しい化するJsonResultを(502、MSG、ヌル); } パブリック 静的化するJsonResult errorException(文字列MSG){ 戻り 新しい化するJsonResult(555、MSG、ヌル)。 } パブリック化するJsonResult(){ } 公共化するJsonResult(整数ステータス、文字列MSG、オブジェクトデータ){ この .status = ステータス。 この .MSG = MSG; この .DATA = データ。 } 公共化するJsonResult(オブジェクトデータ){ この .status = 200 。 この .MSG =「OK 」。 この .DATA = データ。 } パブリックブールISOK(){ 戻り 、この .statusの== 200 。 } パブリック整数のgetStatus(){ リターン・ステータス、 } 公共 ボイドのsetStatus(整数ステータス){ この .status = ステータス。 } パブリック文字列GETMSG(){ 戻りMSG。 } 公共 ボイドsetMsg(文字列MSG){ この .MSG = MSG。 } パブリックオブジェクトのgetData(){ 戻りデータ; } 公共 ボイドのsetData(オブジェクトデータ){ この .DATA = データ。 } パブリック文字列getOk(){ 戻りOK。 } 公共 ボイドsetOk(OK文字列){ この .ok = OK。 } }
@ResponseBody @RequestMapping(" / jsonData3 " ) 公共化するJsonResult jsonData3(){ 地図マップ = 新新; HashMapの() を返す(JSONResult.okを「成功:ここでは、文字列、オブジェクト、配列、コレクションんを保存することができ、それがスプライシングを節約しますプロセス・マップ・セット" ); } @ResponseBody @RequestMapping(" / jsonData4 " ) 公共化するJsonResult jsonData4(){ 戻り(JSONResult.errorMsgを" 失敗しました:これは、文字列、オブジェクト、配列、コレクション実行を持つことができ、それはスプライシングを節約プロセス・マップ・セット" ); }