java文件下载
@RequestMapping(value = "/downFile/downBusLine") @ResponseBody public void downBusLine(@RequestParam String filename, HttpServletResponse response) { String filepath = busLinePath; FileDownload.fileDownload(response, filename, filepath); }
package org.jeecg.common.util; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.net.URLEncoder; public class FileDownload { public static void fileDownload(HttpServletResponse response,String filename,String filepath){ File file = new File(filepath+filename); // 如果文件存在,则进行下载 if (file.exists()) { response.setHeader("content-type", "application/octet-stream"); response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(filename) ); byte[] buffer = new byte[1024]; FileInputStream fis = null; BufferedInputStream bis = null; try { fis = new FileInputStream(file); bis = new BufferedInputStream(fis); OutputStream os = response.getOutputStream(); int i = bis.read(buffer); while (i != -1) { os.write(buffer, 0, i); i = bis.read(buffer); } System.out.println("Download successfully!"); } catch (Exception e) { System.out.println("Download failed!"); } finally { if (bis != null) { try { bis.close(); } catch (IOException e) { e.printStackTrace(); } } if (fis != null) { try { fis.close(); } catch (IOException e) { e.printStackTrace(); } } } } } }