본문 바로가기

심오한 세상/Java; Java FX;

IE에서 엑셀 다운로드 구현시 에러가 나는경우

IE환경에서 page Context Type을 이용한 excel downloading 구현하였습니다. 그런데 다음과 같은 에러가 뜨더군요.


혹시나 싶어서 구글크롬에서 다운로드를 해봤습니다.
근데 다운로드가 잘되네요.
아~~이놈의 IE 정말;;; 세션 문제 이후 나를 계속 괴롭히네요.

그래서 기존에 사용하던 잘되던 소스를 뒤지고 뒤졌습니다.
일단 위 에러는 response.setHeader("Pragma", "public"); 와 같이 해서 처리했습니다.
하지만 읽기에도 아직 부자연스럽네요.

좀더 찾아봐야겠습니다.
현재까지 제가 적용해본 옵션은 아래와 같습니다.
빨간 글씨는 제가 변경해서 성공한(?) 부분입니다.
response.setCharacterEncoding("UTF-8");
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Transfer-Encoding", "binary");
response.setHeader("Pragma", "public");
response.setHeader("Expires", "0");
response.setHeader("Content-Disposition", "attachment; filename=downloadExcelFile.xls");
response.setHeader("Content-Description", "JSP Generated Data");
response.setHeader("Cache-Control", "max-age=0");
인터넷 검색을 해보니, 이 같은 이슈가 많이 존재하는 것 같습니다.

아래는 제가 참고한 사이트에서 가져온 내용입니다.
죄송하지만..저도 살짝 참고 링크로 ^^

1.구글신 검색 참고사이트

2.html header에 대한 더 많은 정보를 원하시면 (그러나 영어의 압박 ;;;)
좀더 깔끔한 정리 : http://www.mnot.net/cache_docs/