2012-09-25 2 views
0

이 문제와 관련하여 많은 사람들이 질문을하고 있지만 어느 누구도 저의 문제를 해결하기에 충분하지 않습니다.Phonegap blackberry 사진 업로드 서버 PHP 스크립트

나는 phonegap을 기반으로 완전히 작동하는 HTML5 스마트 폰 응용 프로그램을 만들었습니다. shudder ... 서버 측 PHP 스크립트를 사용하여 원격 MYSQL 서버로 데이터를 멋지게 보내는 블랙 베리.

그러나 사진을 업로드하는 옵션은 부상 예방이며 위험은 사진 촬영이 필요하므로이 옵션을 제공하고 싶습니다. 이것은 비상업적 인 제품이며, 현대 스마트 폰 기술의 실제 예이며 다양한 스마트 폰에 한 가지 응용 프로그램을 쉽게 포팅 할 수 있음을 보여줍니다. Blackberry는 일반적인 전화이며 중요한 예가되어야합니다.

나는 사랑과 돈을 함께 응용 프로그램과 PHP 서버 사이드 스크립트의 작업 예제를 찾을 수 없습니다.

예제 CORDOVA 예제 파일에서 압축을 풀면 사진이 찍히고 내 앱에서 생성 된 미리보기 이미지를 볼 수 있으며 그 비트는 모든 달콤한 코드입니다 (아래 참조). upload.php가 뭔가를하도록 프로그램을 작성해야합니다. 모든 시도는 오류 코드 3과 1로 실패합니다.

다음은 webapp의 중요한 코드입니다.

HTML

<h3>navigator.camera</h3> 
<input type="button" value="Get Photo (Data)" onclick="capturePhoto();return false;" /> 
<input type="button" value="Get Photo (URI)" onclick="capturePhotoURI();return false;" /> 
<img style="display:none;width:120px;height:120px;" id="cameraImage" src="" /> 
<p id="uploadProgress"></p> 
<input style="display:none;" id="uploadButton" type="button" value="Upload" onclick="uploadImage();return false;" />  

JAVASCRIPT

 function capturePhotoURI() { 
     navigator.camera.getPicture(onCapturePhotoURISuccess, fail, 
      { destinationType: Camera.DestinationType.FILE_URI, quality: 50 }); 
    } 

     function onCapturePhotoURISuccess(imageURI) { 
     if (imageURI != null) { 
      var smallImage = document.getElementById('cameraImage'); 
      var uploadButton = document.getElementById('uploadButton'); 

      // Unhide image elements 
      smallImage.style.display = 'block'; 
      uploadButton.style.display = 'block'; 

      // Show the captured photo 
      // The inline CSS rules are used to resize the image 
      smallImage.src = imageURI; 
     } 
    } 

     function uploadImage() { 
     var smallImage = document.getElementById('cameraImage'); 
     if (smallImage.src && smallImage.src !== "") { 
      var f = new FileTransfer(); 
      f.upload(
       // file path 
       smallImage.src, 
       // server URL - update to your own, and don't forget to 
       // include your domain in an access element in config.xml  
       "http://192.168.1.91/upload.php", 
       // success callback 
       function(result) { 
        document.getElementById('uploadProgress').innerHTML = 
         result.bytesSent + ' bytes sent'; 
        alert(result.responseCode + ": " + result.response); 
       }, 
       // error callback 
       function(error) { 
        alert('error uploading file: ' + error.code); 
       }, 
       // options 
       { fileName: 'myImage.jpg', 
        params: { 'username':'jtyberg' } 
       }); 
     } 
    } 

위의 서버 이드 (I localhost를 사용하고 있지 않다 그래서 수 있도록이 필요로하는 그것이 내 자신의 개발 서버의 적절한 번역 한 것입니다 정확 정확한). 서버 IP를 제외하고 볼 수있는 모든 것은 바닐라이며, 상자 밖에서, 전화 갭에서 변경되지 않은 작업 예제입니다. 전화가 같은 192 네트워크 하나이며 defintaly 내가

는 기본적으로 나는이 파일을 먹고 싶어 시도하고

HTTP로 이동 upload.php로 파일을 사용하여 어떤 upload.php로 실행하려고 : // 192.168 .1.91/상해/sample_images/xxxx.jpg 그들은 모두 확인하고, 내 config.html 모든 도메인

수있는 사람을 할 수있다

내가 체크 한 권리 (연결을 중지하는 방법을 잘으로 HTTP 간격) 내 고통을 덜어 주시고 위의 업로드 코드를 사용하는 예제 upload.php를 주시면 카메라 이미지로 무언가를하십시오.

일단 작업 예제를 얻으면 정확히 무슨 일이 일어나고 있는지 학습하고 학습 과정을 시작할 수 있습니다.

다른 방법으로 누군가 응용 프로그램과 서버 측 코드를 모두 제공하여 튜토리얼로 사용할 수 있다면 즐겁게 공부할 수 있습니다.

많은 사람들이 미리 알려 주시면 감사하겠습니다. 나는이 일을 끝내야 할 때 내 재치가 끝나고 나 자신을 올바른 혼란에 빠지게한다.

답변

0

나는 base64 문자열의 게시 방법을 사용하기로 결정했습니다. 그러나이 경우에는 내 개발 서버에서 발생할 가능성이 높은 설정이 될 가능성이 높습니다.

+0

귀하의 게시 방법을 볼 수 있습니까? –