/**
* 设置导出文件名,并处理编码问题;
* @param request
* @param response
* @param name 导出文件的文件名
* @throws UnsupportedEncodingException
*/
public void setFileName(HttpServletRequest request, HttpServletResponse response, String name)
throws UnsupportedEncodingException {
String agent = request.getHeader("USER-AGENT");
if (null != agent && -1 != agent.indexOf("MSIE") || null != agent && -1 != agent.indexOf("Trident")) {// IE浏览器
name = java.net.URLEncoder.encode(name, "UTF8");
} else if (null != agent && -1 != agent.indexOf("Mozilla")) {// 火狐,chrome等浏览器
name = new String(name.getBytes("UTF-8"), "iso-8859-1");
}
response.setHeader("Content-disposition", "attachment; filename=" + name);
}
说明:
该方法用于java 以Poi技术导出Excel、word文件时,处理响应到前台的文件名编码问题,方法中的参数Name是待导出文件的文件名,可以自己设置。
调用该方法即可处理响应后文件名编码问题,导出后前台就可以显示自己设置的文件名了。