解决文件下载正确文件名和中文乱码问题
文件下载的时候,需要服务器通过响应头将文件的信息告知浏览器
resp.setHeader(“Content-Disposition”, “attachment;filename=”)
resp.setHeader("Content-Disposition", "attachment;filename="+fileName);
中文乱码问题:
不同的浏览器有自己的编码解析方式:
因此需要获取浏览器标识:
// 处理下载文件中文乱码问题
String header = req.getHeader("User-Agent");
if(header.contains("MSIE")) {
// IE
fileName = URLEncoder.encode(fileName,"UTF-8");
}else{
// 非IE
fileName = new String(fileName.getBytes("UTF-8"),"ISO-8859-1");
}