文件名编码 /** * 下载文件时,针对不同浏览器,进行附件名的编码 * * @param filename * 下载文件名 * @param agent * 客户端浏览器的User-Agent * @return 编码后的下载附件名 * @throws UnsupportedEncod
/**
* 下载文件时,针对不同浏览器,进行附件名的编码
*
* @param filename
* 下载文件名
* @param agent
* 客户端浏览器的User-Agent
* @return 编码后的下载附件名
* @throws UnsupportedEncodingException
* @throws IOException
*/
public String encodeDownloadFilename(String filename, String agent) throws UnsupportedEncodingException {
if (agent.contains("Firefox")) { // 火狐浏览器
filename = "=?UTF-8?B?"
+ new org.apache.commons.codec.binary.Base64().encode(filename.getBytes("utf-8"))
+ "?=";
filename = filename.replaceAll("\r\n", "");
} else { // IE及其他浏览器
filename = URLEncoder.encode(filename, "utf-8");
filename = filename.replace("+"," ");
}
return filename;
}
