startActivityForResult(intent) 를 사용해서

파일 탐색기를 열어서 파일 첨부를 하는 액티비티인데요


대충 코드는 이렇습니다.


String filename = intent.getDataToString().replace("file://","") // file:// 가 앞에 붙으면 경로를 찾을 수 없어서 변환처리.

requestPart.addPart(file); // 위의 String 을 사용해서 file객체를 생성하여 request에 추가.


해서 이 Request 객체를 서버로 보내는건데요


이게

[ 일반적인 영문으로된 경로, 영문 이름으로 된 파일 ]

같은 경우에는 정상적으로 잘 전송이 됩니다.


하지만

[ mp3 파일, 경로나 파일명에 한글, 공백이 있는 파일 ]

같은 경우에는 파일 경로를 찾을 수 없다는 메시지가 출력되는군요.


로그를 찍어보니 String 생성 과정에서 나온 값이

한글만 /mnt/sdcard/&7^65%6/asdf.jpg 뭐 이런식으로 특수문자랑 숫자가 섞여서 다 깨져버립니다...

mp3파일이야 mediastore 사용하면 되니까 상관없지만

일반 파일같은경우 문제가 되네요....


이번 허니컴에서 mediastore.files 가 추가된걸로 아는데

현재 개발환경은 프로요입니다. 타겟도 프로요로 잡았구요



저 깨진 값을 현존하는 대부분의 인코딩 포맷으로 돌려보니 3개 말고는 다 위와같은 값이 나왔습니다.

그나마도 나머지 3개는 이상한 한자나 외계어가 나오구요... 인코딩 문제는 아닌듯합니다....



많은 답변 기다리겠습니다 (__)

안드로이드펍 irc에서 동네북을 맡고있는 퐁퐁입니다.
iOS/Android/Python/PHP
타의로 배운 기술은 잘 까먹습니다.. ㅠㅠ