/**
* 下载参阅
* @param request
* @param response
* @param fileUrl
* @param fileName
* @return
* @throws IOException
*/
@RequestMapping("/downConsultFile/{id}")
public void downConsultFile(@PathVariable String id,HttpServletRequest request,HttpServletResponse response) throws IOException{
if(StringKit.isBlank(id)){
return ;
}
Material material=materialService.selectByPrimaryKey(Long.parseLong(id));
if(material==null){
return ;
}
String fileName=material.getName()+"."+material.getSuffixName();
String filePath = Constans.FILE_UPLOAD_PATH + material.getFileUrl();
//设置文件MIME类型
response.setContentType("application/octet-stream");
//设置Content-Disposition
fileName = new String(fileName.getBytes("UTF-8"),"ISO-8859-1");
response.setHeader("Content-Disposition", "attachment;filename="+fileName);
//读取目标文件,通过response将目标文件写到客户端
InputStream in = new FileInputStream(filePath);
OutputStream out = response.getOutputStream();
try {
//写入文件
int len = 0;
byte[] buffer = new byte[1024 * 10];
while((len=in.read(buffer))!= -1){
out.write(buffer,0,len);
}
out.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
in.close();
out.close();
}
}