1.需求场景
浏览器下载服务器上的文本文件,避免浏览器直接打开
2.项目环境
Spring spring mvc mybatis
3.实现方法
/** * * TODO 下载文件 * * @param param * */ @ResponseBody @RequestMapping("download") public void download(String path, HttpServletRequest request, HttpServletResponse response) { try { String fileName ="/data/dbmonitor/"+path; //设置响应类型 response.setContentType("application/force-download");//应用程序强制下载 //读取文件 InputStream in = new FileInputStream(fileName); //设置响应头,对文件进行url编码 exelog = URLEncoder.encode(exelog, "UTF-8"); response.setHeader("Content-Disposition", "attachment;filename="+path); response.setContentLength(in.available()); OutputStream out = response.getOutputStream(); byte[] b = new byte[1024]; int len = 0; while((len = in.read(b))!=-1){ out.write(b, 0, len); } out.flush(); out.close(); in.close(); } catch (Exception e) { e.printStackTrace(); } }