下载文件错误2,FileTransferError.INVALID_URL_ERR

时间:2012-05-09 10:47:53

标签: javascript xcode cordova http-response-codes

我正在使用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

我更改了网址,但它也犯了同样的错误。你知道什么是错的吗?

PS:我知道这个问题&添加了以下答案=)

感谢。

3 个答案:

答案 0 :(得分:4)

如果有人遇到同样的问题,这就是答案:

要下载文件,您不应只添加要下载的文件夹的路径,还应添加文件本身的路径。

因此,如果您要将jpg图像下载到“Doc​​uments”,则文件路径应为:“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%是否正确,但这对我有用,所以希望它有帮助=)

答案 1 :(得分:0)

抱歉,我犯了一个错误,错误代码2应为INVALID_URL_ERR; 因此,您可以尝试使用普通网址(不是90端口但是80端口)进行测试,

“http://184.172.195.202/ElmNoor/Documents/1.txt”,  persistent_root.fullPath +“/”+“1.txt”,//注意,必须添加

应该可以正常下载。

答案 2 :(得分:0)

此错误表示的是 - 您遇到FileTransferError.INVALID_URL_ERR错误。这意味着您尝试保存下载文件的路径不正确。

通过将路径输出到console来交叉检查您的路径。

PS:您可以通过在普通浏览器中试用来验证您下载的网址是否正确。