ssh框架下载本地文件
/**
* 下载模板
*/
public String download(){
try{
// 下载本地文件
//File file = new File(Constant.OPLOAD_PAHT,fileName);
// 读到流中
String realPath=this.getServletRequest().getSession().getServletContext().getRealPath("/") + "WEB-INF" + File.separator+"ybpldr.xls";
InputStream inStream = new FileInputStream(realPath);// 文件的存放路径
this.getServletResponse().reset();
this.getServletResponse().setContentType("bin");
if ("FF".equals(getBrowser(this.getServletRequest() ))) {
// 针对火狐浏览器处理方式不一样了
String filenamedisplay = new String("医保数据批量导入.xls".getBytes("UTF-8"), "iso-8859-1") + ".xls";
this.getServletResponse().setHeader("Content-Disposition", "attachment;fileName="+filenamedisplay);
} else{
// 设置输出的格式
this.getServletResponse().setHeader("Content-Type","application/vnd.ms-excel;charset=UTF-8");
//response.setHeader("Content-Disposition", "attachment;fileName=" + jfdwmc+".xls");
this.getServletResponse().setHeader("Content-Disposition", "attachment;fileName=" + java.net.URLEncoder.encode("医保数据批量导入.xls", "UTF-8"));
}
//this.getServletResponse().addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("医保数据批量导入.xls","UTF-8"));
// 循环取出流中的数据
byte[] b = new byte[100];
int len;
while ((len = inStream.read(b)) > 0)
this.getServletResponse().getOutputStream().write(b, 0, len);
inStream.close();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
// 以下为服务器端判断客户端浏览器类型的方法
private String getBrowser(HttpServletRequest request) {
String UserAgent = request.getHeader("USER-AGENT").toLowerCase();
if (UserAgent != null) {
if (UserAgent.indexOf("msie") >= 0)
return "IE";
if (UserAgent.indexOf("firefox") >= 0)
return "FF";
if (UserAgent.indexOf("safari") >= 0)
return "SF";
}
return null;
}