웹마스터 팁

키캣 4.4.4 이전 버전 에서 크롬을 사용하지 않고 디폴트 웹뷰 이용하면 파일 첨부 안됩니다.

이문제가 이슈로 되어 있을건데 4.4.4 버전에서는 해결되었습니다. 그냥 form의 파일 input 사용해도 첨부 됩니다.


문제는 업체들이 부지런하게 업그레이드 한 갤럭시 등등 폰에서는 키캣 4.4.2 정도에서 업그레이드를 해 주지 않고 있습니다.

아마 안해주고 룰리팝으로 넘어 갈 가능성이 큰데 근본적으로 폰갭 업로드를 어플 내에서 처리해 버리면 근본적인 문제가 해결됩니다. 


자바 개발하신 분들은 직접 자바에서 처리하셨을겁니다. 폰갭개발 자들은 대응방법이 없었으나 api를 활용하면 된다고만 되어 있거나 자바로처리 했을겁니다. 폰갭 자체 api로 처리가 가능해서 올립니다.


function getImage() {

        // Retrieve image file location from specified source

        navigator.camera.getPicture(uploadPhoto, function(message) {

alert('get picture failed');

},{

quality: 50,

destinationType: navigator.camera.DestinationType.FILE_URI,

sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY

});}

    function uploadPhoto(imageURI) {

        var options = new FileUploadOptions();

        options.fileKey="profile_image"; // 파일 필드명

        options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);

        options.mimeType="image/jpeg";


        var params = new Object();

        params.value1 = "test";

        params.value2 = "param";


        options.params = params;

        options.chunkedMode = false;

       

        var ft = new FileTransfer();

        ft.upload(imageURI, "http://도메인/upload.php", win, fail, options);

    }


    function win(r) {

        console.log("Code = " + r.responseCode);

        console.log("Response = " + r.response);

        console.log("Sent = " + r.bytesSent);

        alert(r.response);

    }


    function fail(error) {

    alert("An error has occurred: Code = " + error.code);

    console.log("upload error source " + error.source);

    console.log("upload error target " + error.target);

}



이렇게 js를 넣고getImage()만 호출하시면 됩니다. 서버에 upload.php로 받아서 post로 받는것과 같이 처리하시면 됩니다.

여기서 파일 필드명은         options.fileKey="profile_image"; // 파일 필드명 에 정의하시면 됩니다.

갤러리로 바로접근 가능합니다. 그리고 폰에서 업로드시 jpg가 없는 경우가 있습니다. 확장자 확인하시고 처리하시면 됩니다.

서버 단은 php에 소스가 많으니깐 응용해서 하시면 됩니다.


제목 글쓴이 날짜
XE 쉬운설치에 sftp 이용하기 [6] 비나무 2011.03.15
XE 템플릿에서 $_SESSION 변수 사용하기 신평 2014.12.21
xe 에디터를 외부페이지에사용하기 [26] 정박사닷컴 2012.07.11
블루호스트(Bluehost)에서 XE 제로보드 및 텍스타일 블로그 서브도메인에 설치하기 [4] file TELSTER 2011.03.25
xe 어플 개발시 키캡 4.4.4 미만 업로드 문제 [3] Happyphp 2014.11.25
ipTIME NAS 에 설치한 XE, 다올CMS 첨부파일 버튼 무반응 해결 [1] 사이버짱 2014.11.07
XE 로만든 앱 + 푸쉬기능 구현하기 (안드로이드) [53] file Xiso 2013.10.16
XE Recruitment 파일 미추가시 에러 뿜어내는 것 처리방법 [7] 송동우님최고 2013.07.12
XE 에서 첨부파일 100% 후 사라지는 문제 [3] 야옹이맨 2014.10.28
xe 1.7.4 이상 object cache 및 template cache 적용 방법 [3] XE러버 2014.07.04
[SocialXE] 1.7.4.x 업데이트 후 SocialXE에서 '잘못된 요청입니다.' 오류가 뜨는 문제 해결하기 [15] file TUW 2014.03.26
[10원팁] 한서버에 2개이상의 xe를 사용할때 간헐적 백지문제 [4] 키스미베이베 2014.09.19
XE 그룹아이콘 레벨아이콘 아이콘샵 동시출력하기(모르는분들 있으까봐올립니다.) [1] 모앱 2013.02.22
[업데이트] [Easy Tip] [XE 1.7] XE 코어 js, css파일 jsdelivr CDN사용하기 [13] file Typhoon 2014.08.28
홈페이지 접속시 XE를 바로 실행하기 [7] ezi 2011.08.20
XE코어 업데이트(판올림) 정확한 방법 [12] 카이닉스 2012.07.30
고도몰과 xe 회원 연동하는 키 포인트 410contents 2014.09.03
socialXE 에서 로그인시 소셜로그인과 XE 로그인 동시 구현하기 file 큐우우 2014.08.31
XE에 페이스북 소셜 댓글 연동하는 방법 (페이스북 소셜댓글 달기) 기톨닷컴 2014.08.30
XE 업데이트 방법 - 제1편 (0.x.x / 1.0.x / 1.1.x / 1.2.x 에서 1.2.4 버전으로 업그레이드) [38] file Gekkou 2009.11.19