http://kimdh08.egloos.com  
AjaXplorer 4.0에서 한글파일명이 업로드 안될 경우 해결법
요즘 개인들도 NAS를 구성해서 쓰는 경우가 많은 것 같습니다.
저역시 윈도 기반으로 이것저것 구성해서 쓰고 있는데 설치형 웹하드는
아무래도 리눅스 + APM기반으로 된게 많더군요.

그 중에 제일 많이 눈에 띄는 무료 웹하드 중 하나가 AjaXplorer가 아닌가 싶습니다.
얼마전까지 3.X였다가 이번에 HTML5기반의 4.0으로 훌쩍 업그레이드되었죠.

문제는 한글파일명이 제대로 업로드 안된다는 것인데..
이 문제는 예전 3.X대 버전에도 있었던 거 같습니다.
그래서 이 문제를 해결하기 위한 패치도 배포되었던 듯 한데
4.0은 나온지 얼마 안되서 해결하는 패치를 잘 못찾겠더군요.
그래서 대충 소스 찾아보고 얼렁뚱땅 수정했습니다.

4.0은 파일 업로더가 3가지로 제공되는데 플래시 기반업로더는
예정부터 있었던 것이고 새롭게 HTML5기반으로 만들어진 업로더가
추가되었습니다. 자바애플릿으로 만들어진 것도 지원해서 총 3가지인데,
애플릿은 제가 선호하지 않아서 테스트도 안해봤고
플래시기반과 HTML5기반을 모두 테스트해보니 HTML5 업로더는
한글파일도 제대로 올라가고 플래시 버전이 문제더군요. 문제는 파폭이나 크롬은
자동으로 HTML5업로더가 뜨면서 잘 작동하는데 망할(...) IE는
8,9 모두 플래시 버전으로 뜨더라는... IE9버전도 나올 당시엔
HTML5를 꽤 지원한다고 떠들어댔지만 역시나.. 암튼 말하고자 하는건 이게 아니고,
IE에서 플래시 업로더를 쓰면 한글파일명이 업로드 안되거나 한글 부분이
생략되서 올라가는 문제가 있습니다.

이걸 고치려면 ajaxplorer-core-4.0.0/plugins/uploader.flex 폴더에 있는
class.FlexUploadProcessor.php를 찾아서 49번째 줄에 있는

$fileVars["Filedata"]["name"] = SystemTextEncoding::fromUTF8($fileVars["Filedata"]["name"]);

위 줄을

$fileVars["Filedata"]["name"] = SystemTextEncoding::toUTF8($fileVars["Filedata"]["name"]);

이렇게 바꿔주면 됩니다.

사실 전 닷넷 진영(..)의 사람이기 때문에 php문법이나 함수는 잘 모르겠고
솔직히 코딩도 손땐지 오래되어서 정상적인 방법인지 아닌지는
제대로 확인하지 않았습니다. -_-;; 어차피 제 개인적으로 쓸거라 저만 작동되면 되기 때문에;;;;

그리고 왠만하면 AjaXplorer 쓰려면 크롬이나 파폭쓰는게 낫겠더군요.
IE는 저렇게 소스 고쳐서 한글파일명으로 업로드가 잘 되더라도 다운로드할때
압축해서 한 파일로 다운로드하는 기능이 잘 작동안하는 등 기능에 다소 버그가 있는것 같습니다.
하긴 리눅스에서 제대로 한게 아니고 윈도에서 아파치 대충 셋팅해서 한 거라
그럴지도 모르겠네요...
by 직장인 | 2011/12/20 23:54 | IT/디지틀기기 | 트랙백 | 핑백(1) | 덧글(1)
트랙백 주소 : http://kimdh08.egloos.com/tb/3782687
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Linked at 일상 생활 속의 파편들 : 2.. at 2011/12/28 14:35

... 피규어 ... 얼굴 대성... 2위: 일상(13회) | 내년도 조직 개편과 사업계획.. 머리가 아픕... 3위: IT(4회) | AjaXplorer 4.0에서 한글파일명이 ... 4위: 자동차(2회) | 제 차는 슈퍼카..?? 5위: 창작(1회) | 아내. 가장 많이 읽힌 글은 소녀시대 티파니 "소 ... more

Commented by LuckySh at 2012/01/10 17:58
일단 해보겠습니다. 잘 됬으면 좋겠군요...

:         :

:

비공개 덧글

<< 이전 페이지 다음 페이지 >>