파일 다운로드시 파일 이름 깨지는 오류 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

파일 다운로드시 파일 이름 깨지는 오류 정보

파일 다운로드시 파일 이름 깨지는 오류

본문

안녕하세요~


파일 첨부를 하고 포인트 다운로드시 크롬에서는 제대로 나오는데 익스버전 8 에서는 파일
이름이 깨져서 나옵니다.


포인트 없이 다운로드하는것은 자바스크립트를 안쓰니 파일이름 제대로 나오구요.
포인트를 걸면 자바스크립트를 걸치면서 이름이 깨져 나오고 있어요~


저만그런건지요..?


<script type="text/javascript">
function file_download(link, file) {
    <? if ($board[bo_download_point] < 0) { ?>if (confirm("'"+decodeURIComponent(file)+"' 파일을 다운로드 하시면 포인트가 차감(<?=number_format($board[bo_download_point])?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?"))<?}?>
    document.location.href=link;
}
</script>

댓글 전체

decodeURIComponent(file)
파일명의 주소를 꽈준걸(엔코드) 풀어주다 보니 그런겁니다 ( 익스,불여우, 크롬 각각 제멋대로가 많습니다)
넣어줄때 꽈서 넣어주면 제대로 디코드 되어서 보이겠지만 제대로된 녀석을 디코드 시키거나 혹은 엔코드
시켜버리면 위와 같은 형태로 나올수 밖에 없습니다 (부라우저 지원여부에 따라 다릅니다 )

디비나 데이터가 일반적인 한글로 저장된 형태라면
그냥 decodeURIComponent(file) 없이 file 만 쓰시고 그렇지 않고 디코딩되어서 입력된 형태라면
위의 방법이 맞습니다

하지만
자바스크립트의 디코딩 방법과 php의 디코딩 방법이 조금씩 틀린 부분이 있으니 거기에 브라우져 지원여부도 조금씩 틀립니다 전에 이것 때문에 저도 한번 애먹은적이 있거든요

제일 좋은건 그냥 원래의 이름으로 입력데이터를 넣고 받아오는것이며
보안상 주소를 꽈줄 필요가 있으면
필드를 하나 더쓴다거나 해서 실제이름과 저장된 이름을 달리하여 보안을 유지시키고
받아올때는 저장된 이름으로 디비에서
받아오고
표기할 때는
실제이름으로 치환해서 보여주면 문제는 해결됩니다
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT