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

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;
}

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

猜你喜欢

转载自blog.csdn.net/tenderness4/article/details/77885694