2012-05-09 34 views
1

次のコードは、iPhoneシミュレータで正常に動作します。私はIOS 5.1でCordova 1.6を使って試してみて、1.7でも試しました。私の外部のホストエントリが127.0.0.1Phonegapファイル転送iPhoneシミュレータでは動作しますが、デバイスでは動作しません

に設定されているこれはコードです:

  function uploadPhoto(imageElement){ 
       var options = new FileUploadOptions(); 
       var options = new FileUploadOptions(); 
       options.fileKey="file"; 
       options.mimeType="image/jpeg"; 
       options.fileName="carimage.jpg"; 
       options.chunkedMode = true; 
       var params = new Object(); 
       params.value1 = "Car"; 
       params.value2 = "Used"; 

       options.params = params; 
       options.chunkedMode = false; 

       var ft = new FileTransfer(); 
       console.log("Upload Photo"); 
       ft.upload(
         document.getElementById(imageElement).src, 
         "http://127.0.0.1:8080/claim/image", 
         win, 
         fail, 
         options, 
         true); 
       console.log("Done Uploading"); 
      } 

      function win(r) { 
       console.log("Code = " + r.responseCode); 
       console.log("Response = " + r.response); 
       console.log("Sent = " + r.bytesSent); 
      } 

      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); 
      } 

Xcodeでシミュレータの出力は次のとおりです。

結構です
2012-05-09 12:45:09.390 motorazzi[24964:13403] Multi-tasking -> Device: YES, App: YES 
2012-05-09 12:48:28.421 motorazzi[24964:13403] [INFO] Upload Photo 
2012-05-09 12:48:28.484 motorazzi[24964:13403] [INFO] Done Uploading 
2012-05-09 12:48:40.662 motorazzi[24964:13403] [INFO] Code = 200 
2012-05-09 12:48:40.662 motorazzi[24964:13403] [INFO] Response = 
2012-05-09 12:48:40.663 motorazzi[24964:13403] [INFO] Sent = 1358 

が、Xcodeのからデバイスを使用して私は得る:

2012-05-09 12:51:40.537 motorazzi[885:707] Multi-tasking -> Device: YES, App: YES 
2012-05-09 12:51:56.554 motorazzi[885:707] [INFO] Upload Photo 
2012-05-09 12:51:56.654 motorazzi[885:707] [INFO] Done Uploading 
2012-05-09 12:51:56.748 motorazzi[885:707] File Transfer Error: Could not connect to the server. 
2012-05-09 12:51:56.798 motorazzi[885:707] [INFO] An error has occurred: Code = 3 
2012-05-09 12:51:56.803 motorazzi[885:707] [INFO] upload error source http://127.0.0.1:8080/claim/image 
2012-05-09 12:51:56.813 motorazzi[885:707] [INFO] upload error target file:///var/mobile/Applications/699481A7-C598-43BA-BDCA-962DEF925EE5/tmp/photo_020.jpg 

私のサーバーのログに私はデバイスがまったく接続していないことがわかります。私が間違っているかもしれないことがありますか、または確認する必要がありますか?

答えて

1

デバイスで実行しているときは、IPアドレス127.0.0.1または "localhost"がデバイスそのものです。だからこそ、あなたはあなたのサーバーにぶつからないのです。アップロードスクリプトをホストしているサーバーのホスト名またはIPアドレスを入力する必要があります。

また、plistのサーバをホワイトリストに登録してください。そうしないと、却下されます。

関連する問題