6

Phonegap [cordova 1.7.0]を使用して、Xcode[ios5]を使用してファイルをダウンロードしています。これは私がファイルをダウンロードするために使用しているコードです:

   function downloadfile(){
   var fileTransfer = new FileTransfer();
   console.log('the type of root is:');
   fileTransfer.download(
                  "http://184.172.195.202:90/ElmNoor/Documents/1.txt",
                  persistent_root.fullPath,
                  function(entry) {
                  alert("I'm Downloading");
                  console.log("download complete: " + entry.fullPath);
                  },
                  function(error) {
                  alert("I'm not downloading");
                  console.log("download error source " + error.source);
                  console.log("download error target " + error.target);
                  console.log("upload error code " + error.code);
                  }
                  );}

しかし、エラーコード2が表示され、解決できるかわかりません。

これは私のログです:

     HelloPhoneGap[933:13403] File Transfer Finished with response code 200
     HelloPhoneGap[933:13403] [INFO] download error source http://184.172.195.202:90/ElmNoor/Documents/1.txt
     HelloPhoneGap[933:13403] [INFO] download error target /Users/weekend/Library/Application Support/iPhone Simulator/5.1/Applications/A7883F4B-7678-    4424-A93A-77747297A11E/Documents
     HelloPhoneGap[933:13403] [INFO] upload error code 2

URLを変更しましたが、同じエラーが発生しました。何が悪いのか知っていますか?

PS:私は問題を知っていて、以下に答えを追加しました=)

ありがとう。

4

3 に答える 3

4

誰かが同じ問題に直面している場合、ここに答えがあります:

ファイルをダウンロードするには、ダウンロード先のフォルダーのパスを追加するだけでなく、ファイル自体のパスも追加する必要があります。

したがって、jpg画像を「Documents」にダウンロードする場合、ファイルパスは「Document」+「。jpg」になります。

変更後のコードは次のとおりです。

   function DownloadFile(){
   var fileTransfer = new FileTransfer();
   var url ="http://www.ranafrog.org.au/f006.jpg";
   var folderpath=persistent_root.fullPath+"frog.jpg"; //The path is added here.
   var onSuccess= function(entry){
   console.log("download complete: " + entry.fullPath);
};

var onError=function(error) {
    console.log("download error source " + error.source);
    console.log("download error target " + error.target);
    console.log("upload error code " + error.code);
};

fileTransfer.download(url,folderpath,onSuccess,onError);
} 

私が言っていることが100%正しいかどうかはわかりませんが、それが私にとってうまくいったことです、、、それが役立つことを願っています=)

于 2012-05-09T12:33:31.750 に答える
0

申し訳ありませんが、間違えました。エラーコード2はINVALID_URL_ERRである必要があります;したがって、通常のURL(90ポートではなく80ポート)をテストに試すことができます。

"http://184.172.195.202/ElmNoor/Documents/1.txt"、persistent_root.fullPath + "/" + "1.txt"、//注意、追加する必要があります

通常どおりダウンロードできるはずです。

于 2012-05-11T03:06:27.207 に答える
0

このエラーの内容は、FileTransferError.INVALID_URL_ERRエラーが発生したことです。これは、ダウンロードしたファイルを保存しようとしているパスが正しくないことを意味します。

パスをに出力して、パスをクロスチェックしますconsole

PS:通常のブラウザで試してみると、ダウンロード元のURLが正しいことを確認できます。

于 2013-03-16T05:58:03.183 に答える