web前臺後臺實現下載功能

方式一:利用超鏈接

直接鏈接所要下載文件的路徑,點擊瀏覽器即開始下載

例如

<a href="/test/download/1.xls">文件</a> 
自動運行鏈接方法爲
window.location.href=<span style="font-family: Arial, Helvetica, sans-serif;">"/test/download/1.xls"</span>

方式二:利用後臺

這個前臺發送http請求,後臺處理請求即可

@RequestMapping("downLoadFile.html")
	 @ResponseBody
	// public Map<String, Object> 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<String, Object> map = new HashMap<String, Object>();
		 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";
	 }


如下是文件控制類型

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章