在java web项目中常常会遇到下载本地模板的要求,这里以下载Excel模板为例进行说明。
一、首先要在自己的项目下存放一个Excel文件,如图:
这个文件的存放位置不是固定的,我们可以通过获取真实路径的方式获取到他的路径,放在什么位置都是可以的。
二、核心代码:
public void downloadExcel(HttpServletResponse response,HttpServletRequest request) { try { //获取文件的路径 String excelPath = request.getSession().getServletContext().getRealPath("/Excel/"+"荒.xls"); String fileName = "荒.xls".toString(); // 文件的默认保存名 // 读到流中 InputStream inStream = new FileInputStream(excelPath);//文件的存放路径 // 设置输出的格式 response.reset(); response.setContentType("bin"); response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("荒.xls", "UTF-8")); // 循环取出流中的数据 byte[] b = new byte[200]; int len; while ((len = inStream.read(b)) > 0){ response.getOutputStream().write(b, 0, len); } inStream.close(); } catch (IOException e) { e.printStackTrace(); } }