java代码
@RequestMapping("/download")
public void excuteDownload(String path,HttpServletResponse res,HttpServletResponse response){
// 文件名
File file = new File(path);
res.setCharacterEncoding("UTF-8");
try {
InputStream ins = new FileInputStream(file);
BufferedInputStream bins = new BufferedInputStream(ins);
OutputStream outs = response.getOutputStream();
BufferedOutputStream bouts = new BufferedOutputStream(outs);
response.setContentType("application/x-download");
response.setHeader("Content-disposition","attachment;filename="+URLEncoder.encode(file.getName(), "UTF-8"));
int bytesRead = 0;
byte[] buffer = new byte[8192]; // 开始向网络传输文件流
while ((bytesRead =bins.read(buffer, 0, 8192)) != -1) {
bouts.write(buffer, 0, bytesRead);
}
bouts.flush();
ins.close();
bins.close();
bouts.close();
}catch(Exception e){
e.printStackTrace();
}
finally {
}
}
前端代码
$('#downloadFile').click(function(){
var value = $('#downloadFile').attr('name');
window.location.href = "<%=contextPath%>/vivo_hour_contrast/download?path="+value;
})