2014-06-09 3 views
0

Je suis nouveau sur stackoverflow. c'est la première fois que je dois utiliser Phonegap et j'ai vraiment un problème. J'ai besoin de faire une table et en cliquant sur chaque élément commence à télécharger un fichier pdf et créer un nouveau dossier (s'il n'existe pas). Mais je ne peux même pas télécharger un fichier après compilation avec phonegap. Tous les exemples que j'ai vus, il suffit de télécharger une image via onload.Phonegap Filetransfer télécharger

<script type="text/javascript"> 
function downloadFile(){ 
var url = 'http://http://legalespymes.com.ar/legalespymes/abonos/aseguradoras.pdf'; 
    var filePath = 'local/path/to/your/file'; 
    var fileTransfer = new FileTransfer(); 
    var uri = encodeURI(url); 
    fileTransfer.download(
     uri, 
     filePath, 
     function(entry) { 
      console.log("download complete: " + entry.fullPath); 
     }, 
     function(error) { 
      console.log("download error source " + error.source); 
      console.log("download error target " + error.target); 
      console.log("upload error code" + error.code); 
     }, 
     false, 
     { 
      headers: { 
       "Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA==" 
      } 
     } 
    ); 
} 
</script> 

HTML

<td onclick="downloadFile()">Row 1</td> 
+1

Quelle erreur obtenez-vous? Avez-vous activé le plugin FileTransfer et le nom de package correct spécifié dans votre fichier config.xml? –

+0

l'événement 'deviceready' a-t-il été déclenché avant d'essayer de faire cela? –

+0

cochez cette case http://stackoverflow.com/questions/24124217/cordova-filetransfer-download-error/24124917#24124917 – Aravin

Répondre

0

tout d'abord votre URL est invalide inclus http plusieurs fois

var url = 'http://http://legalespymes.com.ar/legalespymes/abonos/aseguradoras.pdf'; 

changement comme celui-ci

var url = 'http://legalespymes.com.ar/legalespymes/abonos/aseguradoras.pdf'; 

Si vous créez plusieurs répertoires et que vous stockez un fichier dans ce répertoire, cela peut créer un problème (exemple [projet/échantillon/local] non créé en même temps). donc le fichier ne pas télécharger). Et assurez-vous que les plugins de téléchargement de fichiers sont disponibles dans le fichier config.xml et spécifiez la version phonegap.

Utilisez ce code pour créer plusieurs répertoires à la fois.

window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem; 
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail); 

// create directory 
function gotFS(fileSystem) { 
    window.FS = fileSystem; 
    var printDirPath = function(entry){ 
     console.log("Dir path - " + entry.fullPath); 
    } 

    createDirectory("local/path/to/your", printDirPath); 
} 
function fail() { 
    console.log("failed to get filesystem"); 
} 

function createDirectory(path, success){ 
    var dirs = path.split("/").reverse(); 
    var root = window.FS.root; 
    var createDir = function(dir){ 
     console.log("create dir " + dir); 
     root.getDirectory(dir, { 
      create : true, 
      exclusive : false 
     }, successCB, failCB); 
    }; 

    var successCB = function(entry){ 
     root = entry; 
     if(dirs.length > 0){ 
      createDir(dirs.pop()); 
     }else{ 
      success(entry); 
     } 
    }; 

    var failCB = function(){ 
    }; 

    createDir(dirs.pop()); 
} 

Maintenant vous écrivez votre code de téléchargement de fichier.

Questions connexes