웹마스터 팁

키캣 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에 소스가 많으니깐 응용해서 하시면 됩니다.


제목 글쓴이 날짜
파일첨부 된 글을 게시글 이동시, 사용자정의 값이 전부 삭제되는 버그 패치 [5] sejin7940 2014.11.20
누리고 쇼핑몰 - 모바일 버전에서 상품몰에 취소/환불 부분이 적용안되는부분 해결 하는 팁 garnecia 2014.11.23
누리고쇼핑몰-모바일 이니시스 결제에서 필수요청값 누락 에러로 결제 안되는것 해결하는 미봉책 garnecia 2014.11.23
XE 코어의 메일전송을 우리알림 모듈로 대체하는 방법 [30] file GG 2014.11.24
xe 어플 개발시 키캡 4.4.4 미만 업로드 문제 [3] Happyphp 2014.11.25
Animate 사용 돼지코구뇽 2014.11.26
bing 번역 함수 만들어 사용하기 Happyphp 2014.11.26
jq로 데이터 입력시 enter키 먹게 하기 [3] Happyphp 2014.11.27
페이지에 명언,좋은글,책속의 한줄 랜덤으로 뿌리기 [1] file 고니 2014.12.02
PDF 뷰어 팁 [4] 돼지코구뇽 2014.12.06
IE에서 스크립트 생성 iframe 요소에 name 속성 지정이 무시될 때 신평 2014.12.08
폰갭 작업시 폰 내부 html에 변수 전달 방법 (get) Happyphp 2014.12.09
파일 삭제시 (글 수정시 파일삭제 / 파일관리에서 삭제 등) 사용자정의값이 삭제되지 않도록 패치 [3] sejin7940 2014.12.11
위젯 많은 페이지 - 부하 분산으로 속도 향상하기 [4] 엘카 2014.12.12
여러게시물을 작성시 쓰기버튼 노출의 여부로 고생할 때.. file BJ람보 2014.12.15
제이쿼리 충돌시 팁 바나나소프트 2014.12.15
날짜비교 함수 [1] 별을따는소년 2014.12.17
CSS 코드를 손쉽게 prefix/minify 변환해주는 사이트 file sojumeister 2014.12.18
XE 템플릿에서 $_SESSION 변수 사용하기 신평 2014.12.21
관리자 페이지 날짜 검색과 스크랩. [1] 무얼까2 2014.12.24