CI 묻고 답하기

제목 force_download 하면 파일이 깨어져서 나오네요.
글쓴이 범고래 작성시각 2016/03/28 09:33:08
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 14151   RSS

CodeIgniter 버전:2.2.6 

코드이그나이터 사용하면서 한번도 책이나 포럼을 봤던 적이 없었네요.

php란게 뭔지도 모르고 이걸 배웠었는데..ㅜ.ㅜ

만들면서 배우는 CodeIgniter라는 책이 있는데 사실 본적도 없었습니다. (책은 줬는데 책으로 수업한적이 한번도 없어서..)

그런데.. 책을 본 순간.. 제가 배웠던 코드이그나이터 느낌이랑 이 책에서 하는 느낌이 다르다는걸 알았네요.

한마디로 저는 완전 코드이그나이터의 초보자란 느낌을 받았습니다.

이런 사이트가 있는지 너무 고마워서 주절주절 제 감상만 이야기 했네요. 죄송합니다.

 

a태그로 

<td><a href="<?php echo site_url('board/download/'.$ret['bo_file']); ?>"><?php echo urldecode($ret['bo_file']); ?></a></td>

이렇게 콘트롤러로 보내고

콘트롤러에선 이미지에서 보듯이 받았습니다.

 

그런데 콘솔 내용을 보면

 'application/octet-stream'; <- $mimes

변수에 저걸 담는다는게 $mimes에 담을 배열 중에 없는게 저렇게 나와야 하는데

xlsx, png 파일 같은건 분명히 배열상에 존재하는데도

콘솔에 application/octet-stream 이 찍히네요.

업로드는 잘되고

그 파일 위치에서 단순하게 다운로드 받아도 파일 손상없이 열리지만

force_download하면 몇몇 파일 타입들은 손상을 입어서 열리지를 않네요.

아무리 생각해도 이해가 안가서 고수님들에게 여쭤봅니다..ㅠ.ㅠ


첨부파일 download.PNG (10.8 KB)
 다음글 자바스크립트변수를 CI로 넘기려면? (1)
 이전글 모델과 라이브러리 차이 질문 드립니다. (2)

댓글

변종원(웅파) / 2016/03/28 10:18:32 / 추천 0

파일이 제대로 만들어지지 않은(표준을 지키지 않는) 경우가 있습니다.

확장자는 doc 이라도 실제 올려서 파일타입 검사하면 다른 걸로 나오는 경우가 있습니다.

config/mimes.php 열어서 해당파일 배열에 octet-stream 을 넣어주면 해결할 수 있습니다.