http://kimdh08.egloos.com & ♥♥♥♥♥
태그 : 사진업로드해결방법
2008/05/13   이글루에서 사진 업로드시 '파일명이 올바르지 않습니다'라는 메시지와 함께 작동하지 않는 경우 해법 [9]
이글루에서 사진 업로드시 '파일명이 올바르지 않습니다'라는 메시지와 함께 작동하지 않는 경우 해법

이글루에서 사진을 업로드할 때는 개별 업로드와 편집해서 업로드를 하는 두가지 방법을 제공하는데,
'이미지 추가'버튼을 이용하여 개별 업로드시 어떤 PC에서는 '파일명이 올바르지 않습니다'라는 메시지와 함께
사진이 올라가지 않는 경우가 있습니다.

처음엔 FlashPlayer의 버전이 올라가면서 호환성 문제 때문에 발생한 것으로 생각했습니다만..
(이글루의 파일 업로드는 모두 flash를 이용하여 구현되어 있습니다)
자꾸 제 PC에서 발생하는게 궁금해서 왜 발생하는지 디버깅을 해봤더니  
파일 업로드시 내부 자바스크립트에서 파라메터로 넘기는 파일명에 따라 오류가 발생하는 경우가 있더군요.

내부 자바스크립트를 보면 사용자가 선택한 이미지 파일을 IE로부터 파라메터로 받는데
이때 이미지 파일명이 "C:\upload\image.jpg"처럼 전체경로를 받아오는 것으로 가정하고
프로그래밍 되어 있습니다. 그런데 문제는 이게 "image.jpg"처럼 파일명만 달랑
넘겨주는 경우가 있다는 거죠.
스크립트에서는 파일명만 추출하기 위해서 앞에 붙은 전체경로를 떼버리는 루틴이 포함되어 있는데,
이때 경로 구분자인 "\"나 "/"를 이용해서 문자열을 추출합니다. 그런데 파일명만 달랑 넘겨받으면
저 캐릭터가 없으니 인덱스가 -1이 나오고 '파일명이 올바르지 않습니다'라는 오류가 나는거죠.

그럼 IE가 언제는 파일명만 넘기고 언제는 전체경로를 넘기냐..하는 것을 알아야 하는데
이것은 보안 설정의 옵션에 있습니다.
이글루를 접속할 때 인터넷 영역으로 되어 있다면 (특별히 손대지 않으면 인터넷영역이죠)
도구 > 인터넷옵션 > 보안탭에서 인터넷영역을 선택하고 '사용자 지정 수준'을 클릭하면
아래와 같은 항목을 찾을 수 있습니다.


저 부분이 '사용 안함'으로 되어 있다면 이미지 파일의 경로가 "image.jpg"와 같이 넘어가서
오류가 발생하는거죠 따라서 "사용함"으로 셋팅해 주시면 "C:\upload\image.jpg"와 같이
전체경로가 파라메터로 넘어가서 제대로 이미지 업로드가 작동합니다.

그런데 전체경로를 넘기지 않도록 하는 선택사항은 보안 문제때문에 있는건데요..
저걸 사용함으로 해서 특별히 보안문제가 발생하진 않겠지만 원칙적으론 선택안함으로 되어 있어도
제대로 작동하도록 프로그램을 짜야 하는거죠.
이건 이글루에서 스크립트를 수정해주는게 좋을 것 같습니다.

참고로 "신뢰할 수 있는 사이트"나 "로컬 인트라넷"인 경우는 기본적으로 "사용함"으로 되어 있으므로
저런 오류가 발생하지 않습니다.

PS1. 혹시 이 오류 때문에 답답하셨던 분이 계시면 이오공감 추천해서 공유해주시는 것도 괜찮겠네요.
아니면 이미 해법이 나와있는 포스팅이 있다면 알려주시기 바랍니다. 트랙백이라도 걸게요.. ^^

PS2. 저는 파폭 3 베타5를 많이 쓰는데 파폭에서도 같은 오류가 발생합니다.
그런데 IE와는 달리 파폭에서는 저런 옵션을 어디서 주는지 잘 모르겠군요.
혹시 아시는 분 계시면 덧글 부탁드립니다.
by 직장인 | 2008/05/13 11:40 | 잡담.. | 트랙백(1) | 덧글(9)
<< 이전 페이지 다음 페이지 >>