一、
@Get("downloadTeacherTemplate")
public Object downloadTeacherTemplate(Invocation inv) throws Exception {
Map map=systemDictService.getSystemDictByCode("UPLOADIFY_DIR");
String root=(String) map.get("value");//获得文件的根目录,如:http://10.0.50.130/SaveResourse/
File file = new File(root+TEACHER_TEMPLET_FILEPATH);//TEACHER_TEMPLET_FILEPATH:文件的相对路径
InputStream inputStream=null;
inputStream = new FileInputStream(file);
String fileName="教师导入模板.xls";
String agent = inv.getRequest().getHeader("USER-AGENT");
String CONTENT_TYPE = "";
CONTENT_TYPE = CONTENT_TYPE + "; ";
// 以流的形式下载文件。
// 清空response
inv.getResponse().reset();
if (agent.contains("Firefox")) {
fileName = new String(fileName.getBytes("utf-8"), "iso8859-1");
} else {
fileName = URLEncoder.encode(fileName, "utf-8");
fileName = fileName.replace("+", "%20");
}
inv.getResponse().setHeader("Content-Disposition", "attachment;filename=\"" + fileName);
inv.getResponse().addHeader("Content-Length", "" );
inv.getResponse().setContentType(CONTENT_TYPE);
inv.getResponse().setHeader("Content-Transfer-Encoding", "binary");
inv.getResponse().setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
inv.getResponse().setHeader("Pragma", "public");
inputStream = new FileInputStream(file);
return inputStream;
}
二、
@Get
@Post
public Object getFileStream(Invocation inv) throws IOException{
PropertiesUtil propertiesUtil = new PropertiesUtil();
String url = inv.getRequest().getRequestURI();
Map uploadifyMap=systemDictDao.getSystemDictByClassCode("UPLOADIFY_URL"); //获得文件上传永久路径
String root = String.valueOf(uploadifyMap.get("value"));
String suffix = url.replaceAll("
http://www.yunedu.cc/SaveResourse/
", "");
String path = root + suffix;
File file = new File(path);
String fileName = file.getName();
String ext = fileName.substring(fileName.lastIndexOf(".")+1);
inv.getResponse().reset();
inv.getResponse().setHeader("Content-Disposition", "attachment;filename=\"" + fileName);
inv.getResponse().addHeader("Content-Length", ""+file.length());
inv.getResponse().setContentType(propertiesUtil.getProperty(ext));
inv.getResponse().setHeader("Content-Transfer-Encoding", "binary");
inv.getResponse().setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
inv.getResponse().setHeader("Pragma", "public");
FileInputStream imputStream = new FileInputStream(file);
return imputStream;
} 转载于:https://my.oschina.net/zhongshao/blog/300615
|