Последние несколько часов я просматривал документы и все, но безуспешно ... Я хочу загрузить файл с с какого-нибудь сервера и на сохранить его на моем телефоне (каталог, в котором приложение хранит файлы, которые видны только моему приложению и удаляются при удалении приложения).Я хотел бы сохранить файл и записать в него (я сделал часть загрузки).С помощью следующего кода, когда я запускаю его, он работает и отображает текст из «файла», но когда я ищу файл с помощью некоторых приложений проводника, файл, который я «создал», не найдется.
Приветствия!
РЕДАКТИРОВАТЬ Примечания: Хорошо, теперь я даже попытался создать файл на своем телефоне с компьютера, используя соединение USB, так что я точно знаю, что файл существует... Путь к файлу, в котором я его создал с ПК:
Этот ПК \ Galaxy S7 edge \ Phone \ Android \ data \ com.phonegap.musicapp2 \ text.txt
Код ответа, который я получаю из JSON.stringify (dirEntry), выглядит следующим образом
{"isFile":false,"isDirectory":true,"name":"com.phonegap.musicapp2","fillPath":"/data/user/0/com.phonegap.musicapp2/", "filesystem":"","nativeURL":"file:///data/user/0/com.phonegap.musiapp2/"}
Поэтому, когда я запускаю код снизу, он дает мне
Ошибка из getFile: {"code": 1}
Я просмотрел документы и говорит, что код 1 означает: NOT_FOUND_ERR (http://prntscr.com/n071kx)
"Кодснизу "
function readFile(fileEntry) {
fileEntry.file(function (file) {
var reader = new FileReader();
reader.onloadend = function() {
DebugConsole.log("Successful file read: " + this.result);
// displayFileData(fileEntry.fullPath + ": " + this.result);
};
reader.readAsText(file);
}, onErrorReadFile);
}
window.resolveLocalFileSystemURL(cordova.file.applicationStorageDirectory, function(dirEntry) {
DebugConsole.log(JSON.stringify(dirEntry));
dirEntry.getFile('text.txt', {create: false, exclusive: false}, function(fileEntry) {
//writeFile(fileEntry, null, isAppend);
readFile(fileEntry);
}, function(e) {
DebugConsole.log('Error from getFile: ' + JSON.stringify(e));
});
});
Sidenote: Приложение никогда не запрашивает разрешение на доступ к моему внутреннему хранилищу. Я зашел в Apps / myapp / permissions и показал, что у приложения нет прав доступа к хранилищу.Я включил его, но все равно не повезло.Я думаю, что мне нужно как-то запросить доступ к хранилищу из приложения, но я не могу найти способ как?