티스토리 뷰
직접 URL 방식일때는 아무 문제가 없었는데 (ex <a href="www.xxx.com/test.apk">다운로드</a>)
파일 객체를 만든 후 out.write로 보내는 방식으로 했더니
무슨 짓을 해도 다운로드가 되질 않았다
그런데 아이폰에서는 다운로드가 되는 것이다.... OTL
서버에서는 친절하게도 "Software caused connection abort: socket write error" 이런 메세지까지 띄워줬다
요청이 끝나기 전에 페이지를 이동해버려서 그렇다는 내용을 어딘가에서 봐서
혹시나 싶어서 form 전송으로 다운로드를 요청하던 방식을 href 로 바꿔주었더니 다운로드가 잘된다...
도대체 왜 이런것인지는 모르겠지만.. 어쨌든 잘 되니 다행이다..
ㅇ 기존 방식
frm.action = "/mobile/download.do";
frm.target = "iframe_download"; // iframe
frm.submit();
ㅇ 변경 방식
location.href = "/mobile/getObject.do?req_nm=xxxx&req_seq=oooo";
그런데!!! 갤럭시S 에서는 다운로드가 안된다.. OTL
파일 객체를 쏴줄때 mime type도 바꿔보고 별짓 다 해봤는데도 안된다 (/--)/ ㅛㅛ 일단 보류..
=====================================================================
파일 다운로드를 담당해주는 클래스에서 Content Type을 "application/octet-stream" 로 지정해주고 있는데
이걸 지정하지 않으니까 다운로드가 된다
여기서 type을 지정하지 않으면 톰캣 web.xml에서 정의해놓은 type을 따라가는 것 같은데
이상한 점은 분명 web.xml에 타입들이 정의되어 있는데도 모든 파일이 확장자가 html로 다운로드 되고 있다.. =_=;;
========================================================================================================
갤럭시S 에서도 드디어 해결되었다 -_-v
열심히 외국사이트를 구글링 해보니.. 확장자를 대문자로 하면 된다는 사실을 알게 되었다
이유는 모르겠지만.. 어쨌든.. 대충 이런식으로..
String ext = fileName.substring(fileName.lastIndexOf(".") + 1).toUpperCase(); // 확장자를 대문자로
fileName = fileName.substring(0, fileName.lastIndexOf(".") + 1) + ext;
'프로그래밍 > JSP' 카테고리의 다른 글
[JSP]엑셀 excel 다운로드 파일 만들기 (한글깨짐, 숫자 포함) (3) | 2012.01.31 |
---|---|
로컬 컴퓨터에서 일반 사이트 주소 입력으로 프로젝트 접속하기 (0) | 2012.01.04 |
IE(익스플로러) 6 또는 7 버전에서 한글이 깨지는 문제 (2) | 2012.01.04 |
파일 다운로드 도우미 (0) | 2012.01.04 |
[JSP] MVC 게시판 만들기 3(수정, 삭제) (2) | 2011.10.15 |
- 함수
- 랜덤
- 스트럿츠
- 페이지 이동
- 안드로이드
- window
- 동양인
- ibatis
- Android
- jstl
- 스프링
- 시각 차이
- 구매 가이드
- 여성가족부
- EL
- 특수문자
- struts
- JSP
- MacOS
- 테이블
- 자바스크립트
- 서양인
- JavaScript
- 데이터베이스
- 파이썬
- 오류
- 기본
- mvc
- 주피터 노트북
- 코멧
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Total
- Today
- Yesterday