FileReader возвращает пустой результат для файла из пакета - PullRequest
2 голосов
/ 28 декабря 2010

Я пытался прочитать файл из пакета приложения, используя FileReader класс phonegap:

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

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

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

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

В этом примере путь - это что-то вроде «index.html». Обратный вызов onerror никогда не вызывается. onload вызывается, но evt.target.result пусто. У вас есть какие-нибудь предложения? Можно ли вообще читать файлы из пакета с помощью API PhoneGap? Могу ли я использовать относительные пути, такие как "./www/foo.txt"?

Спасибо за ваши ответы!

1 Ответ

3 голосов
/ 29 декабря 2010

Путь, который передается в readAsText, относится к папке «Документы» в изолированной программной среде приложений. Следовательно, вы должны просто исправить путь, заменив строку

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

с

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

для доступа к файлу. Это работает для меня.

...