标签:
//文件下载 主要方法 public static void download(HttpServletRequest request,HttpServletResponse response, String storeName, String contentType) throws Exception { request.setCharacterEncoding("UTF-8"); BufferedInputStream bis = null; BufferedOutputStream bos = null; //获取项目根目录 String ctxPath = request.getSession().getServletContext().getRealPath("/resource/img/"); //获取下载文件路径 String downLoadPath = ctxPath+"/"+storeName; //获取文件的长度 long fileLength = new File(downLoadPath).length(); //设置文件输出类型 response.setContentType("application/octet-stream"); response.setHeader("Content-disposition", "attachment; filename="+ new String(storeName.getBytes("utf-8"), "ISO8859-1")); //设置输出长度 response.setHeader("Content-Length", String.valueOf(fileLength)); //获取输入流 bis = new BufferedInputStream(new FileInputStream(downLoadPath)); //输出流 bos = new BufferedOutputStream(response.getOutputStream());
byte[] buff = new byte[2048];
int bytesRead; while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) { bos.write(buff, 0, bytesRead); } //关闭流 bis.close(); bos.close(); }
//重定向下载文件 @RequestMapping("admin/dowm") public ModelAndView download(HttpServletRequest request,HttpServletResponse response) throws Exception { String storeName=request.getParameter("filename"); String contentType = "application/octet-stream"; download(request, response, storeName, contentType); return null; }
标签:
原文地址:http://www.cnblogs.com/yabushan/p/4927858.html