TIP게시판

제목 2.2.1 force_download helper 오류 안내 (MS-Office 파일 손상)
글쓴이 배강민 작성시각 2017/01/05 08:09:29
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 11564   RSS
배강민

간만에 글 남기네요.

TapBBS (우리 포럼 CMS)는

CodeIgniter 2.2.1을 사용하고 있으며

파일다운로드에서 이미지파일, pdf 파일등도 웹브라우져에서 열리지않고 강제로 다운로드 되어지게 하려고

Core Helper인 download Helper의 force_download를 사용하고 있습니다.

그런데, 처음부터 그랬는지, MS-Office 특정버젼부터 문제인지 모르겠는데,

MS-Office 파일을 위 forece_download를 이용해서 다운로드받으면 손상되어서 열리지를 않더군요. (버그 리포팅 : 웅파)

해서 해당 Helper를 보니, 강제 다운로드를 위해 header를 선언하면서 CodeIgniter에서 선정의해둔 mime를 이용하더군요.

그래서, 딱 느낌이 이 header 원래부터던 MS-Office의 특정버젼부터 바뀌었던간에 문제가 있는듯하다라는 촉이 왔습니다.

해서, 이래저래 해보기전에 혹시나해서 3.*의 해당 Helper를 보니, mime선언하는 부분이 많이 바뀌어있더군요.

또 순간, 뭔가 문제가 있어서 이렇게 많이 바꾼듯하다라는 촉이 와서, 일단 그냥

application/hepler/MY_download_helper.php로 Overriding만 해봤습니다. 

그랬더니, 바로 손상없이 MS-Office 파일이 잘 열리네요. 흐~

좀 더 테스트는 해봐야겠지만, 일단 이렇게 해두고, 좀 더 보겠습니다.

force_download를 그닥 많이 사용하진 않을 듯도 하지만,

2.*를 사용하시면서 해당 Helper를 사용하시는 경우 한번 MS-Office 파일 다운로드 테스트해보셔요. 제가 해본 건 ppt, pptx, xls, xlsx 였습니당.

P.S. 해당 부분이 수정된 TapBBS v1.1.14 : http://www.tapbbs.com/bbs/view/download?idx=183&lists_style=

 다음글 Google Firebase를 이용한 간단한(?) PU... (2)
 이전글 페이지네이션 라이브러리 입니다. (2)

댓글

한대승(불의회상) / 2017/01/05 08:25:38 / 추천 0

문제에 대한 해결책은 CI3.0 download helper로 덮어 쓰기하면 되는거군요.

좋은 정보 감사 합니다.

양승현 / 2017/01/05 09:01:14 / 추천 0

좋은정보 감사합니다.

예전에 경험이 있었더라는..

변종원(웅파) / 2017/01/05 09:22:30 / 추천 0

수고하셨습니다.

그래서 지속적 업데이트 필요하다는... ^^