2017년 4월 24일 월요일

Java 파일 다운로드 한글 파일명 깨짐


fileName을 브라우저에 따라 다르게 세팅한다.


res.setContentType("application/octet-stream");
res.setHeader("Accept-Ranges", "bytes");

String userAgent = req.getHeader("User-Agent");

boolean ie = (userAgent.indexOf("MSIE") > -1 || userAgent.indexOf("Trident") > -1);

if(ie) {
fileName = URLEncoder.encode( fileName, "utf-8" ).replaceAll("\\+", "%20");
} else {
fileName = new String( String.valueOf(fileName).getBytes("utf-8"), "iso-8859-1");
}

res.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\";");
res.setHeader("Content-Transfer-Encoding", "binary");


IE, Chrome 에서 확인.

댓글 없음:

댓글 쓰기

🧠💥 이탈리안 브레인롯(Italian Brainrot): 인터넷 밈의 신세계 🇮🇹

요즘 SNS에서 유행하는 이상한 말투, 이탈리아 억양, 그리고 피자 이모지 🤌🍕. 이게 다 뭔지 궁금하셨다면, 바로 이 ‘이탈리안 브레인롯(Italian Brainrot)’ 때문입니다! 중독성 있는 이 밈, 지금부터 쉽고 재밌게 알아볼게요. ...