FileReader возвращает пустой результат для файла из пакета

StackOverflow https://stackoverflow.com/questions/4548561

  •  13-10-2019
  •  | 
  •  

Вопрос

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

...
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"?

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

Это было полезно?

Решение

Путь, который проходит в readAsText относительно папки «документы» в песочнице приложений. Следовательно, вы должны просто исправить путь, заменив линию

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

с

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

Чтобы получить доступ к файлу. Это работает для меня.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top