2014-10-09 16 views
8

Sto riscontrando un problema su Android (non testato su altre piattaforme) in cui vorrei utilizzare l'API del file cordova per leggere un file dalla cartella/www. Ci sono informazioni in conflitto su Internet su se questo è possibile o meno. Ho seguito un esempio come:Plugin file Cordova - Leggi dalla cartella www?

window.resolveLocalFileSystemURL(cordova.file.applicationDirectory + "www/index.html", gotFile, fail);

Comunque sto ottenendo l'errore 1 (file non trovato). Posso usare AJAX per recuperare il file che mi serve ma non è adatto al mio caso d'uso. Voglio interrogare una directory nella cartella/www e leggere un file con nome dinamico. Qualche idea?

Mi piacerebbe avere una risposta aggiornata, come quella che ho visto è di oltre 1 anno di età: Can you read files in the www folder using PhoneGap.'s JS methods?

Grazie in anticipo.

risposta

2

Per Raymond Camden da all'inizio di quest'anno, questo non è possibile con il Cordova = File-plugin: http://www.raymondcamden.com/2015/01/21/phonegapcordova-tip-working-with-files-under-www-and-android -

In primo luogo, non è possibile utilizzare le API del file system per lavorare con i file sotto il cartella www. I documenti per il plug-in File indicano erroneamente che si dispone dell'accesso in lettura alla directory dell'applicazione (che conterrà www) ma che non è corretto.

Ma ci sono diverse directory che si fare hanno accesso ad usare il plugin file. Ecco alcuni esempi di codice per recuperare il contenuto di alcuni di loro: https://stackoverflow.com/a/29905718/346550

6

È possibile utilizzare questa funzione per ottenere tutti i file disponibili in www/cartella

function listDir(path){ 
    window.resolveLocalFileSystemURL(path, 
    function (fileSystem) { 
     var reader = fileSystem.createReader(); 
     reader.readEntries(
     function (entries) { 
      console.log(entries); 
     }, 
     function (err) { 
      console.log(err); 
     } 
    ); 
    }, function (err) { 
     console.log(err); 
    } 
); 
} 
//example: list of www/ folder in cordova/ionic app. 
listDir(cordova.file.applicationDirectory + "www/"); 

(La cartella www è in modalità di sola lettura È. non è possibile scrivere nulla in esso. La documentazione Cordova plugin file spiega questo, ma è possibile utilizzare lo copyTo() method of html5 API File per copiare i dati in un'altra posizione)

Problemi correlati