方式一:利用超链接
直接链接所要下载文件的路径,点击浏览器即开始下载
例如
<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
<option
<option