2012-05-09 15 views
6

Estoy usando Phonegap [cordova 1.7.0] para descargar un archivo con Xcode [ios5]. Este es el código que estoy usando para descargar el archivo:Descargar archivo Error 2, FileTransferError.INVALID_URL_ERR

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

Pero consigo código de error 2 & no sé lo puedo resolver?

Este es mi diario:

 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 

me cambió la url, pero dio el mismo error. ¿Sabes lo que está mal?

PS: Yo sabía que el problema añadido & la respuesta de abajo =)

Gracias.

Respuesta

4

En caso de que alguien se enfrenta al mismo problema, aquí está la respuesta:

Para descargar un archivo que no sólo debe agregar la ruta de la carpeta que va a ser descargado en, también se debe agregar el ruta del archivo en sí.

Si está descargando una imagen jpg a "Documentos", la ruta del archivo debe ser: "Documento" + ". Jpg".

Este es el código después de la modificación:

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

no lo hago no estoy seguro si lo que digo es 100% correcto o no, pero eso es lo que funcionó para mí ,,, así que creo que sirve =)

+3

ENORME ayuda. Tenía exactamente el mismo error, y los documentos no ayudan en absoluto. Todo lo que le dan es "Asume que la URL variable contiene un URI válido para un archivo en un servidor y filePath es una ruta válida en el dispositivo". Gracias. – XML

+0

Para usar los nombres var de la documentación: fileSystem.root.fullPath + '/frog.jpg'; // falta barra diagonal – pdschuller

0

lo sentimos, he cometido un error, el código de error 2 debería ser INVALID_URL_ERR; por lo tanto, se puede tratar de una URL normal (no 90, pero el puerto 80 puerto) para la prueba,

"http: // 184.172.195.202/ElmNoor/Documents/1.txt ", persistent_root.fullP ath + "/" + "1.txt", // atención, debe agregar

debería poder descargar la normal.

0

Lo que este error dice es - usted tiene un error FileTransferError.INVALID_URL_ERR. Esto significa que la ruta en la que intenta guardar su archivo descargado no es correcta.

Haga una verificación cruzada de su ruta de salida al console.

PD: Puede verificar que la URL desde la que está descargando es correcta probándola en el navegador normal.