Вход/Регистрация
JavaScript. Подробное руководство, 6-е издание
вернуться

Флэнаган Дэвид

Шрифт:

fs.root.getFile("hello.txt”, {}, function(entry) { // Получить FileEntry

entry.file(function(file) { // Получить File

var reader = new FileReader;

reader.readAsText(file);

reader.onload = function { // Получить содержимое файла

console.log(reader.result);

};

});

});

});

В примере 22.13 демонстрируется более полное решение. В нем показано, как использовать асинхронный прикладной интерфейс для чтения, записи и удаления файлов, создания каталогов и получения списков их содержимого.

Пример 22.13. Использование асинхронного прикладного интерфейса доступа к файловой системе

/*

* Следующие функции были протестированы в Google Chrome 10.0 dev.

* Вам может потребоваться запустить Chrome со следующими ключами:

* --unlimited-quota-for-files : разрешает доступ к файловой системе

* —allow-file-access-from-files : разрешает тестировать из URL file://

*/

// Многие асинхронные функции, используемые здесь, принимают необязательные функции

// обратного вызова для обработки ошибок.

// Следующая функция просто выводит сообщение об ошибке,

function logerr(e) { console.log(e); }

// requestFileSystem возвращает локальную файловую систему, доступную

// только приложениям с указанным происхождением. Приложение может читать

// и писать файлы в ней, но не может получить доступ к остальной файловой системе,

var filesystem; // Предполагается, что эта переменная будет инициализирована

// перед вызовом функции, объявленной ниже.

requestFileSystem(PERSISTENT, // Или TEMPORARY для кэширования файлов 10*1024*1024,

// Требуется 10 Мбайт

function(fs) { // После выполнения вызвать эту функцию

filesystem = fs; // Просто сохранить ссылку на файловую систему

},
//в глобальной переменной,

logerr); // Вызвать эту функцию в случае ошибки

// Читает содержимое указанного файла как текст и передает его функции обратного вызова,

function readTextFile(path, callback) {

// Вызвать getFile, чтобы получить объект FileEntry для файла

// с указанным именем

filesystem.root.getFile(path, {}, function(entry) {

// При вызове этой функции передается объект FileEntry, соответствующий файлу.

// Теперь следует вызвать метод FileEntry.file, чтобы получить объект File

entry.file(function(file) { // Вызвать с объектом File

var reader = new FileReader; // Создать объект FileReader

reader.readAsText(file); // И прочитать файл

reader.onload = function { // В случае успешного чтения

callback(reader.result); // Передать данные функции callback

}

  • Читать дальше
  • 1
  • ...
  • 457
  • 458
  • 459
  • 460
  • 461
  • 462
  • 463
  • 464
  • 465
  • 466
  • 467
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: