import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.Base64; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; public class DownLoadUtils { public static String getFileName(String agent, String filename) throws UnsupportedEncodingException { if (agent.contains("MSIE")) { //IE浏览器 -- utf-8编码 filename = URLEncoder.encode(filename, "utf-8"); filename = filename.replace("+"," "); } else if (agent.contains("Firefox")) { //火狐浏览器 Base64.Encoder encoder = Base64.getEncoder(); filename = "=?UTF-8?B?" + (new String(encoder.encode(filename.getBytes("UTF-8")))) + "?="; } else { //其他浏览器 filename = URLEncoder.encode(filename,"utf-8"); } return filename; } }