方式一:利用超鏈接
直接鏈接所要下載文件的路徑,點擊瀏覽器即開始下載
例如
<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>