<%- のIntelliJ IDEAによって作成されます。 ユーザー:13554 日付:2019年/ 12 / 23 時間:22 :16 にするにこのテンプレートを使用するファイルを変更します| 設定| ファイルのテンプレート。 - %> <%@ページのcontentType = " text / htmlの;のcharset = UTF-8 " 言語= " javaの" %> < htmlの> < ヘッド> < タイトル>タイトル</ タイトル> </ヘッド> < 身体> < A HREF = "ダウンロード?fileNameに= A.TXT" >下载</ A > </ ボディ> </ HTML >
ダウンロードインターフェース
ファイルのダウンロードの主な方法
バイト[]バイト= FileUtils.readFileToByteArray(ファイル)。
outputStream.write(バイト)。
パッケージcom.qyx.controller。 輸入org.apache.commons.io.FileUtils。 輸入org.springframework.stereotype.Controller; 輸入org.springframework.ui.Model; 輸入org.springframework.web.bind.annotation.RequestMapping。 輸入org.springframework.web.multipart.MultipartFile; インポートのjavax.servlet.ServletOutputStream。 インポートのjavax.servlet.http.HttpServletRequest; インポートのjavax.servlet.http.HttpServletResponse; インポートのjava.io.File; インポートにjava.io.IOException; 輸入java.util.UUID; @Controller パブリック クラスDemoController { @RequestMapping( "/ダウンロード" ) 公共 ボイドダウンロード(文字列のファイル名、HttpServletResponseの応答、HttpServletRequestのリクエスト)がスローにIOException { response.setContentType( "テキスト/ HTML;のcharset = UTF-8" )。 // 设置响应流中的文件进行下载 // response.setHeader( "コンテンツ・処分"、 "添付ファイル;ファイル名" + fileNameに)。 response.setHeader( "コンテンツの廃棄"、 "添付ファイル;ファイル名=" + filename)で。 // ServletOutputStreamを出力ストリーム= response.getOutputStream()。 ServletOutputStreamをOutputStreamを= 応答。 // 获取文件完整路径(绝对路径) // 文字列のrealpath = request.getServletContext()getRealPath( "ファイル")。 文字列のrealpath = request.getServletContext()getRealPath( "ファイル"。); // ファイルファイル=新しいファイル(実パスファイル名); ファイルファイル= 新しいファイル(実パスファイル名); // バイト[]バイト= FileUtils.readFileToByteArray(ファイル)。 バイト []バイト= FileUtils.readFileToByteArray(ファイル)。 outputStream.write(バイト)。 outputStream.flush(); outputStream.close(); }
}
制御ファイルは、コントローラーをダウンロード
<%- のIntelliJ IDEAによって作成されます。 ユーザー:13554 日付:2019年/ 12 / 25 時間:16 :48 にするにこのテンプレートを使用するファイルを変更します| 設定| ファイルのテンプレート。 - %> <%@ページのcontentType = " text / htmlの;のcharset = UTF-8 " 言語= " javaの" %> < htmlの> < ヘッド> < タイトル>タイトル</ タイトル> </ヘッド> < 身体> <! - 需要设置にenctype = "multipart / form-データ"才能进行文件上传- > < フォームのメソッド= "ポスト" のenctype = "マルチパート/フォームデータ" アクション= "アップロード" > 姓名:< 入力タイプ= "テキスト" 名前= "名前" > 文件:< 入力タイプ= "ファイル" 名= "ファイル" > < 入力タイプ= "提出" 値= "を提交" > </ フォーム> </ ボディ> </ HTML >
パッケージcom.qyx.controller。
輸入org.apache.commons.io.FileUtils。
輸入org.springframework.stereotype.Controller;
輸入org.springframework.ui.Model; 輸入org.springframework.web.bind.annotation.RequestMapping。 輸入org.springframework.web.multipart.MultipartFile; インポートのjavax.servlet.ServletOutputStream。インポートのjavax.servlet.http.HttpServletRequest; インポートのjavax.servlet.http.HttpServletResponse; インポートのjava.io.File; インポートにjava.io.IOException; 輸入java.util.UUID; @ControllerパブリッククラスDemoController {
@RequestMapping( "/アップロード" )
公共の文字列のアップロード(MultipartFileファイルは、文字列名)がスローIOExceptionが{ // 文字列fileNameに= file.getOriginalFilename(); 文字列fileNameに= file.getOriginalFilename()。 // 文字列の接尾辞= fileName.substring(fileName.lastIndexOf() ""); 文字列の接尾辞= fileName.substring(fileName.lastIndexOf( "" )); もし(suffix.equalsIgnoreCase( "TXT" )) { // 为防止文件重名而设置的随机ID 列UUID = UUID.randomUUID()のtoString()。 FileUtils.copyInputStreamToFile(file.getInputStream()、新しいですファイル( "E:/" + UUID + サフィックス)); 戻る「成功」。 } リターン「エラー」。 }
}
ファイルのアップロード
1 Apacheのファイルのアップロードの完了に基づいて、コモン-fileupload.jar
2 MultipartResovler役割
2.1クライアントはMultipartFileにファイル転送パッケージタイプアップロード
クラスファイルストリームが取得した2.2 MultipartFileパッケージ
3フォームデータ型の分類
3.1のenctype属性管理テーブルの形式を「マルチパート/フォームデータ」の種類
4 MultipartFileコントローラパラメータ名は、入力ファイル名タグの属性値と一致しなければなりません
5コアファイルのアップロード方法
FileUtils.copyInputStreamToFile(のInputStream、ファイル);