java服务器下载文件中遇到的编码问题

来源:互联网 发布:上海东方网络金融 编辑:程序博客网 时间:2024/06/17 20:15

java中,下载文件可能会遇到因为浏览器而导致编码问题。

public static String filenameEncoding(String filename, HttpServletRequest request) throws IOException {
String agent = request.getHeader("User-Agent"); //获取浏览器
if (agent.contains("Firefox")) {
BASE64Encoder base64Encoder = new BASE64Encoder();
filename = "=?utf-8?B?"
+ base64Encoder.encode(filename.getBytes("utf-8"))
+ "?=";
} else if(agent.contains("MSIE")) {
filename = URLEncoder.encode(filename, "utf-8");
} else {
filename = URLEncoder.encode(filename, "utf-8");
}
return filename;
}

以上为根据下载框中的文件名,对其进行不同的编码以保证正确性。

原创粉丝点击