web前台后台实现下载功能

方式一:利用超链接

直接链接所要下载文件的路径,点击浏览器即开始下载

例如

文件 
自动运行链接方法为
window.location.href="/test/download/1.xls"

方式二:利用后台

这个前台发送http请求,后台处理请求即可

@RequestMapping("downLoadFile.html")
	 @ResponseBody
	// public Map downLoadFile(HttpServletResponse response,HttpServletRequest request) throws Exception{
	 public String downLoadFile(HttpServletResponse response,HttpServletRequest request) throws Exception{
		 
		// System.out.println("downLoadFile");
		 String fileType=request.getParameter("fileType");
		// Map map = new HashMap();
		 response.setContentType("application/ynd.ms-excel;charset=UTF-8");
         response.setHeader("Content-Disposition", "attachment; filename=" + "templet."+fileType);
         response.setHeader("Pragma", "public");
         response.setHeader("Cache-Control", "max-age=0");
	   // InputStream in=new FileInputStream("/templet.xls");
         InputStream in=null;
         if(fileType.equals("xls"))
        	 in=new FileInputStream("C:/Users/DELL/Desktop/templet.xlsx");
         else
        	 in=new FileInputStream("C:/Users/DELL/Desktop/templet.xls");
         OutputStream ou=response.getOutputStream();
      // ByteArrayOutputStream buffer = new ByteArrayOutputStream();
      // Workbook wb=new HSSFWorkbook(in);
      // wb.write(buffer);
      // response.setContentLength(buffer.size());
      // 
      // ou.write(buffer.toByteArray());
      // buffer.flush();
         byte[] buffer = new byte[1024];
         int i = -1;
         while ((i = in.read(buffer)) != -1) {
          ou.write(buffer, 0, i);
         }
         ou.flush();
		 ou.close();
		 in.close();
		// System.out.println("下载");
		// map.put("mes", "下载成功");
		 return "card/cardRegister";
	 }


如下是文件控制类型

  value="image/bmp">BMP   
  value="image/gif">GIF   
  value="image/jpeg">JPEG   
  value="image/tiff">TIFF   
  value="image/x-dcx">DCX   
  value="image/x-pcx">PCX   
  value="text/html">HTML   
  value="text/plain">TXT   
  value="text/xml">XML   
  value="application/afp">AFP   
  value="application/pdf">PDF   
  value="application/rtf">RTF   
  value="application/msword">MSWORD   
  value="application/vnd.ms-excel">MSEXCEL   
  value="application/vnd.ms-powerpoint">MSPOWERPOINT   
  value="application/wordperfect5.1">WORDPERFECT   
  value="application/vnd.lotus-wordpro">WORDPRO   
  value="application/vnd.visio">VISIO   
  value="application/vnd.framemaker">FRAMEMAKER   
  value="application/vnd.lotus-1-2-3">LOTUS123

你可能感兴趣的:(web前台后台实现下载功能)