1.ファイルのクラスをダウンロード
インポートのjavax.servlet.http.HttpServletResponse; 輸入 java.io. * ; パブリック クラスDownloadUtil { パブリック ブールはFileDownload(HttpServletResponseの応答、文字列filePathに、文字列filename)が スローにUnsupportedEncodingException { ファイルファイル = 新しい新しいファイル(filePathにする); // ダウンロードを作成します真のパスオブジェクト・ファイル、パラメータファイル のiF(File.Exists()){ // ファイルが存在するか否かを判断 response.setContentTypeを( "ファイルアプリケーション/ vnd.ms-エクセル。;のcharset = UTF-8" ); response.setCharacterEncoding( " 。8 UTF " ); response.setHeader("コンテンツの廃棄"、 "添付; fileNameに=" + java.net.URLEncoder.encode(ファイル名、 "UTF-8" )); バイト []バッファ= 新しい バイト [1024 ]; FileInputStreamのFIS = nullを。// 文件输入流 にBufferedInputStreamビス= NULL ; OutputStreamのOS = nullを。// 输出流 試み{ OS = response.getOutputStream()。 FIS = 新しいFileInputStreamを(ファイル); ビス = 新しいですBufferedInputStreamを(FIS)。 int型 I = bis.read(バッファ) 一方、(!I = -1 ){ os.write(バッファ) I = bis.read(バッファ) } } キャッチ(例外e){ e.printStackTrace(); 返す 偽; } 試みる{ bis.closeを(); fis.close(); } キャッチ(IOExceptionを電子){ e.printStackTrace(); 返す 偽 ; } } 戻り 真。 }
2.
< TH:HREF = "@ {/ダウンロード/ fileNameに} {} + $ + $ +} {filePathに'?filePathに='" >ダウンロードファイル</ A >
/ ** *测试文件下载 * @paramのfileNameに * @param filePathに * @paramの応答 * @return *は@throws にUnsupportedEncodingException * / (@GetMapping "/ダウンロード/ {ファイル名}" ) パブリック文字列testDownload(@PathVariable( "FILENAME" )文字ファイル名、文字列filePathに、HttpServletResponseの応答)がスローにUnsupportedEncodingException { するSystem.out.println( "==>开始文件下载を!" )。 DownloadUtil downloadUtil = 新しいDownloadUtil(); downloadUtil.fileDownload(応答ファイルパスは、ファイル名)。 リターン ヌル。 }