文件下载
这个下载很简单,很实用,上方是Spring注解,只要这个模块代码就行了,是从我项目中摘出来的,很独立
/** -----------------------文件下载---------------------------------------------- */
/* 招飞初检文件下载 本案例只要得到路径就可以了 */
@RequestMapping(params = "method=InitDownLoad", method = RequestMethod.GET)
public void InitDownLoad(HttpServletRequest request,HttpServletResponse response) {
String downLoadPath=URLDecoder.decode(request.getParameter("downLoadPath")); //得到文件路径
String fileName=downLoadPath.split("/")[downLoadPath.split("/").length-1];
response.reset(); //response.reset() 来清除首部的空白行
response.setContentType("application/octet-stream");
response.setCharacterEncoding("UTF-8");
File file=new File(downLoadPath); //放入文件流
if(file.exists()){
InputStream in=null; //输入流
BufferedInputStream bis=null;
OutputStream out=null; //输出流
BufferedOutputStream bos=null;
try {
in=new FileInputStream(file);
bis=new BufferedInputStream(in);
response.setHeader("Content-Disposition", "attachment;filename=" + java.net.URLEncoder.encode(fileName, "UTF-8"));//设置头文件 可参照 http://blog.csdn.net/fanyuna/article/details/5568089
byte[] data=new byte[1024];
int bytes=0;
out=response.getOutputStream();
bos=new BufferedOutputStream(out);
while((bytes=bis.read(data, 0, data.length))!=-1){
bos.write(data,0,bytes); //写出文件流
}
bos.flush();
} catch (Exception e) {
e.printStackTrace();
}finally{
try{
bos.close();
out.close();
bis.close();
in.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
}

浙公网安备 33010602011771号