public ModelAndView download(HttpServletRequest req, HttpServletResponse res) throws Exception {
String sno = req.getParameter("abc");
try{
List list = dao.Select("select * from abc_file where abc="+abc);
if(list.size() != 0){
Map map = (Map) list.get(0);
String file_name = map.get("file_name")==null?"":(String)map.get("file_name");
Long file_size = map.get("file_size")==null?Long.valueOf(0):(Long)map.get("file_size");
byte[] file_contents = (byte[]) map.get("file_contents");
String content_type = map.get("content_type")==null?"":(String)map.get("content_type");
String agent = req.getHeader("User-Agent");
res.reset();
if(agent.indexOf("MSIE") != -1){
file_name = URLEncoder.encode(file_name,"UTF8");
}else{
file_name = new String(file_name.getBytes("UTF-8"),"ISO8859-1");
}
res.setHeader("Content-disposition","attachment; filename="+file_name);
res.setContentLength(file_size.intValue());
res.setContentType(content_type);
BufferedOutputStream ou = new BufferedOutputStream(res.getOutputStream());
ou.write(file_contents);
ou.flush();
ou.close();
}
} catch ( Exception e ) {
logger.error(e);
throw e;
}
return null;
}
沒有留言:
張貼留言