2010-12-28 6 views
2

Ich habe versucht, eine Datei aus dem App-Bundle zu lesen phonegap die mit FileReader Klasse:Filereader geben leeres Ergebnis für Datei aus dem Bündel

... 
loadFile: function (path, callback) { 
    fileReader = new FileReader(); 

    fileReader.onerror = function() { 
    ... 
    } 

    fileReader.onload = function (evt) { 
    callback(evt.target.result); 
    } 

    fileReader.readAsText("./www/" + path); 
} 

In diesem Beispiel Pfad ist so etwas wie „index.html“. Der Rückruf wird nie aufgerufen. onload wird aufgerufen, aber evt.target.result ist leer. Hast du irgendwelche Vorschläge? Ist es generell möglich, Dateien aus dem Bundle mit der phonegap API zu lesen? Kann ich relative Pfade wie "./www/foo.txt" verwenden?

Vielen Dank für Ihre Antworten!

Antwort

3

Der Pfad, der in readAsText übergeben wird, ist relativ zum Ordner "Dokumente" in der Sandbox Anwendungen. Daher müssen Sie einfach den Pfad beheben, indem Sie die Linie ersetzt

fileReader.readAsText("./www/" + path); 

mit

fileReader.readAsText("./../myApp.app/www/" + path); 

auf die Datei zuzugreifen. Das funktioniert für mich.