我正在使用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:我知道这个问题&添加了以下答案=)
感谢。
答案 0 :(得分: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%是否正确,但这对我有用,所以希望它有帮助=)
答案 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:您可以通过在普通浏览器中试用来验证您下载的网址是否正确。