2012-03-20 5 views
1

Filetransfer APi를 제출 양식의 일부로 사용하는 방법에 대해 자세히 설명하지 않았습니다. 현재 당신이 사진을 선택하고 서버에 자동으로 보내지 만 응용 프로그램을 위해 다른 데이터를 보내야합니다. 나는 다른 부분이 올바르게 작동하는데 필요한 것은 텍스트/옵션이지만 이미지에 난처함을 기반으로합니다. 사람이 훨씬 appriciated 될 수있는 아이디어를 가지고 싶다면PhoneGap 파일 전송 이미지 제출 양식

기압 메신저는 ZAC 포도원 코드 예제

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4 /strict.dtd"> 
<html> 
<head> 
<title>File Transfer Example</title> 
<script type="text/javascript" charset="utf-8" src="phonegap-1.2.0.js"></script> 
<script type="text/javascript" charset="utf-8"> 

    // Wait for PhoneGap to load 
    document.addEventListener("deviceready", onDeviceReady, false); 

    // PhoneGap is ready 
    function onDeviceReady() { 
// Do cool things here... 
    } 

    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="file"; 
     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://yourdomain.com/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); 
    } 

    </script> 
</head> 
<body> 
<button onclick="getImage();">Upload a Photo</button> 
</body> 
</html> 

를 찾고 있습니다. 필자는 많은 다른 것들을 시도했다. 나는 데스크탑 플랫폼에서 작동하도록했지만, 안드로이드라면 안드로이드 폰을 사용할 때 관련이있다. 그것은 작동하지 않습니다. 감사합니다

+0

옵션 객체를 통한 데이터. options.params 객체를 살펴보십시오. – sgimeno

답변

0

보내실 키/값 쌍을 "params"개체의 구성원으로 추가하십시오. 당신이 할 것 = 다음 NA는 UID = 1234 서버를 전송하기를 원한다면 말 :

var params = new Object(); 
params.uid = "1234"; 
params.server = "na"; 
0

당신은 다른 데이터를 보낼 수 그렇게 objetId 및 이미지를 말한다 : 당신은 이미 추가 보내는

 options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1)+".jpg";  
     var upload_url="http:YourDomain.com 
     /upload?token="+objectId+"&filenaam="+options.fileName; 
     ft.upload(imageURI, upload_url, win, fail, options);