Cordova-plugin-file реализует Файловый API, обеспечивающий доступ на чтение / запись к файлам, находящимся на устройстве.
Место постоянного хранения iOS
Существует два допустимых места для хранения постоянных файлов на устройстве iOS: каталог «Документы» и каталог «Библиотека».Предыдущие версии плагина только когда-либо сохраняли постоянные файлы в каталоге Documents.Это имело побочный эффект - все файлы приложения были видны в iTunes, что часто было непреднамеренным, особенно для приложений, которые обрабатывают много небольших файлов, а не создавало полные документы для экспорта, что и является целью каталога.
Теперь можно выбрать, сохранять ли файлы в документах или в каталоге библиотеки, с предпочтением в config.xml file
вашего приложения.Для этого добавьте одну из этих двух строк в config.xml
:
<preference name="iosPersistentFileLocation" value="Library" />
<preference name="iosPersistentFileLocation" value="Compatibility" />
Запись в файл
Как только у вас появится объект FileEntry, выможет записать в файл, вызвав createWriter
, который возвращает объект FileWriter в обратном вызове успеха.Вызовите метод записи FileWriter для записи в файл.
function writeFile(fileEntry, dataObj) {
// Create a FileWriter object for our FileEntry (log.txt).
fileEntry.createWriter(function (fileWriter) {
fileWriter.onwriteend = function() {
console.log("Successful file write...");
readFile(fileEntry);
};
fileWriter.onerror = function (e) {
console.log("Failed file write: " + e.toString());
};
// If data object is not passed in,
// create a new Blob instead.
if (!dataObj) {
dataObj = new Blob(['some file data'], { type: 'text/plain' });
}
fileWriter.write(dataObj);
});
}
Чтение файла
Вам также необходим объект FileEntry для чтения существующего файла.Используйте свойство файла FileEntry, чтобы получить ссылку на файл, а затем создайте новый объект FileReader.Вы можете использовать такие методы, как readAsText
, чтобы начать операцию чтения.Когда операция чтения завершена, этот.результат сохраняет результат операции чтения.
function readFile(fileEntry) {
fileEntry.file(function (file) {
var reader = new FileReader();
reader.onloadend = function() {
console.log("Successful file read: " + this.result);
displayFileData(fileEntry.fullPath + ": " + this.result);
};
reader.readAsText(file);
}, onErrorReadFile);
}