/**
* 下载文件名编码,对于不同的浏览器使用不同的编码格式
*
* @param request
* @param name
*/
private String processFileName(HttpServletRequest request, String name)
throws UnsupportedEncodingException {
String filename = null;
String agent = request.getHeader("USER-AGENT");
if (null != agent){
if (-1 != agent.indexOf("Firefox")) {//Firefox
filename = "=?UTF-8?B?" + (new String(org.apache.commons.codec.binary.Base64.encodeBase64(name.getBytes("UTF-8"))))+ "?=";
}else if (-1 != agent.indexOf("Chrome")) {//Chrome
filename = new String(name.getBytes(), "ISO8859-1");
} else {//IE7+
filename = java.net.URLEncoder.encode(name, "UTF-8");
filename = StringUtils.replace(filename, "+", "%20");//替换空格
}
} else {
filename = name;
}
return filename;
}
* 下载文件名编码,对于不同的浏览器使用不同的编码格式
*
* @param request
* @param name
*/
private String processFileName(HttpServletRequest request, String name)
throws UnsupportedEncodingException {
String filename = null;
String agent = request.getHeader("USER-AGENT");
if (null != agent){
if (-1 != agent.indexOf("Firefox")) {//Firefox
filename = "=?UTF-8?B?" + (new String(org.apache.commons.codec.binary.Base64.encodeBase64(name.getBytes("UTF-8"))))+ "?=";
}else if (-1 != agent.indexOf("Chrome")) {//Chrome
filename = new String(name.getBytes(), "ISO8859-1");
} else {//IE7+
filename = java.net.URLEncoder.encode(name, "UTF-8");
filename = StringUtils.replace(filename, "+", "%20");//替换空格
}
} else {
filename = name;
}
return filename;
}