String fileName = "测试3345.txt";
String userAgent = request.getHeader("user-agent");
System.out.println("user agent : " + userAgent);
response.setContentType("application/octet-stream");
//此处if语句为IE8的判断 ,若不使用IE8,只用else语句中内容即可
if (userAgent.contains("MSIE")) {
//此种方式为之前旧的写法,支持IE8,新版本浏览器对此写法也可以向后兼容
fileName = URLEncoder.encode(fileName, "UTF-8");
fileName.replace("+", " ");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
} else {
//推荐用此种写法:此种写法为2010年后规定的标准写法,支持绝大多数浏览器,不支持低版本浏览器,如IE8
fileName = URLEncoder.encode(fileName, "UTF-8");
response.setHeader("Content-Disposition", "attachment;filename*=UTF-8''" + fileName);
}