API File (Файл) — краткий справочник

API File (Файл) — краткий справочник.

Как и в случае с API IndexedDB (Индексированные базы данных), возможности, предоставляемые файловым API и его расширениями, организованы в несколько интерфейсов. Каждый интерфейс предоставляет методы, свойства и события, которые в сочетании с функциональностью остальных API расширения предлагают множество альтернативных способов создания, считывания и обработки файлов. Далее вы найдете описание всех возможностей, изученных в этой главе, в порядке, соответствующем официальной спецификации.

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

Интерфейс Blob (API File (Файл))

Этот интерфейс предоставляет свойства и методы для работы с бинарными блоками (blob). Он наследуется интерфейсом File:

— size. Это свойство представляет собой размер бинарного блока или файла в байтах;

— type. Это свойство представляет собой тип мультимедиа данного бинарного блока или файла;

— slice(start, length, type). Этот метод возвращает части бинарного блока или файла, на которые указывают значения атрибутов start (начальная позиция) и length (длина фрагмента) (значения определяются в байтах).

Интерфейс File (API File (Файл))

Этот интерфейс представляет собой расширение интерфейса Blob и предназначен для обработки файлов.

— name. Это свойство представляет имя файла.

Интерфейс FileReader (API File (Файл))

Этот интерфейс предоставляет специальные методы, свойства и события

Для считывания файлов и бинарных блоков в память:

— readAsArrayBuffer(file). Этот метод возвращает содержимое файла или бинарного блока в форме объекта ArrayBuffer;

— readAsBinaryString(file). Этот метод возвращает содержимое файла или бинарного блока в форме двоичной строки;

— readAsText(file). Этот метод интерпретирует содержимое файла или бинарного блока и возвращает его в форме текста;

— readAsDataURL(file). Этот метод возвращает содержимое файла или бинарного блока в форме URL данных (data:url);

— abort(). Этот метод позволяет прервать процесс считывания данных;

— result. Это свойство представляет собой данные, возвращенные методами считывания;

— loadstart. Это событие срабатывает в начале операции считывания;

— progress. Это событие срабатывает периодически и информирует о статусе операции считывания;

— load. Это событие срабатывает по завершении операции считывания;

— abort. Это событие срабатывает, если операция считывания прерывается;

— error. Это событие срабатывает в случае ошибки или сбоя;

— loadend. Это событие срабатывает по завершении процесса — как в случае успеха, так и в случае сбоя.

Интерфейс LocalFileSystem (API File: Directories and System (Каталоги и система))

Этот интерфейс предназначен для инициализации файловой системы для конкретного приложения:

— requestFileSystem(type, size, функция для успешного завершения, функция для завершения с ошибкой). Этот метод запрашивает инициализацию файловой системы, настроенной в соответствии со значениями его атрибутов. Атрибут type может принимать одно из двух значений: TEMPORARY или PERSISTENT. Размер (атрибут size) следует задавать в байтах.

Интерфейс FileSystem (API File: Directories and System (Каталоги и система))

Этот интерфейс предоставляет информацию о файловой системе:

— name. Это свойство представляет собой имя файловой системы;

— root. Это свойство представляет собой корневой каталог файловой системы.

Интерфейс Entry (API File: Directories and System (Каталоги и система))

Этот интерфейс предоставляет методы и свойства для обработки записей (файлов и каталогов) в файловой системе:

— isFile. Это свойство возвращает логическое (булево) значение, указывающее, является запись файлом или нет;

— isDirectory. Это свойство возвращает логическое (булево) значение, указывающее, является запись каталогом или нет;

— name. Это свойство представляет собой имя записи;

— fullPath. Это свойство представляет собой полный путь от корня файловой системы до данной записи;

— filesystem. Это свойство содержит ссылку на файловую систему;

— moveTo(parent, новое имя, функция для успешного завершения, функция для завершения с ошибкой). Этот метод перемещает запись в другое место. Атрибут parent представляет собой целевой каталог, в который перемещается в запись. Атрибут новое имя, если он указан, содержит новое имя, которое запись получит на новом месте;

— copyTo(parent, новое имя, функция для успешного завершения, функция для завершения с ошибкой). Этот метод создает копию записи. Атрибут parent представляет собой каталог, в котором создается копия исходной записи. Атрибут новое имя, если он указан, позволяет задать новое имя для копии записи на новом месте;

— remove(функция для успешного завершения, функция для завершения с ошибкой). Этот метод удаляет файл или пустой каталог;

— getParent(функция для успешного завершения, функция для завершения с ошибкой). Этот метод возвращает ссылку на родительский объект DirectoryEntry для выбранной записи.

Интерфейс DirectoryEntry (API File: Directories and System (Каталоги и система))

Этот интерфейс предоставляет методы для создания и считывания файлов и каталогов:

— createReader().Создает объект DirectoryReader для считывания записей;

— getFile(path, options, функция для успешного завершения, функция для завершения с ошибкой). Создает или считывает файл, указанный в атрибуте path. Атрибут options настраивается с использованием двух флагов: create и exclusive. Первый определяет, будет ли файл создаваться, если он еще не существует, а атрибут exclusive, когда его значение равно true, заставляет метод возвращать ошибку в случае существования такого файла;

— getDirectory(path, options, функция для успешного завершения, функция для завершения с ошибкой). Создает или считывает каталог, указанный в атрибуте path. Атрибут options настраивается с использованием двух флагов: create и exclusive. Первый определяет, будет ли каталог создаваться, если он еще не существует, а атрибут exclusive, когда его значение равно true, заставляет метод возвращать ошибку в случае существования такого каталога;

— removeRecursively(функция для успешного завершения, функция для завершения с ошибкой). Удаляет каталог со всем его содержимым.

Интерфейс DirectoryReader (API File: Directories and System (Каталоги и система))

Этот интерфейс предоставляет альтернативный способ получения списка записей в указанном каталоге:

— readEntries(функция для успешного завершения, функция для завершения с ошибкой). Считывает блок записей в выбранном каталоге. Если ни одной записи не найдено, он возвращает значение null.

Интерфейс FileEntry (API File: Directories and System (Каталоги и система))

Этот интерфейс предоставляет методы для получения объекта File для определенного файла, а также объекта FileWriter, с помощью которого к файлу можно добавлять содержимое:

— createWriter(функция для успешного завершения, функция для завершения с ошибкой). Создает объект FileWriter для записи содержимого в файл;

(функция для успешного завершения, функция для завершения с ошибкой). Возвращает объект File, представляющий собой выбранный файл.

Интерфейс BlobBuilder (API File: Writer (Запись файлов))

Этот интерфейс предоставляет методы для работы с объектами бинарных блоков:

— getBlob(type). Возвращает содержимое объекта blob в виде бинарного блока;

— append(data). Присоединяет данные к объекту blob. В интерфейсе предусмотрено три метода append(), позволяющих присоединять данные как текст, бинарный блок или объект ArrayBuffer.

Интерфейс FileWriter (API File: Writer (Запись файлов))

Интерфейс FileWriter представляет собой расширение интерфейса File-Saver. Последний мы в этой главе не рассматриваем, но перечисленные далее события входят в него:

— position. Это свойство представляет собой текущую позицию, в которой будет выполнена очередная операция записи;

— length. Это свойство представляет собой длину файла в байтах;

— write(blob). Этот метод записывает содержимое в файл;

— seek(offset). Этот метод устанавливает новую позицию, в которой будет выполнена очередная операция записи;

— truncate(size). Этот метод меняет длину файла на значение, переданное в атрибуте size (в байтах);

— writestart. Это событие срабатывает в начале операции записи;

— progress. Это событие срабатывает периодически и информирует о статусе операции записи;

— write. Это событие срабатывает при завершении операции записи;

— abort. Это событие срабатывает, если операция записи прерывается; О error. Это событие срабатывает в случае ошибки;

— writeend. Это событие срабатывает по завершении запроса — как в случае успешного исхода, так и при возникновении ошибки.

Интерфейс FileError (API File и расширения)

Если определенный процесс завершится ошибкой, несколько методов из рассматриваемого API вернут посредством функции обратного вызова значение, соответствующее этой ошибке. Сравните это значение со следующим списком, для того чтобы узнать причину сбоя:

— NOT_FOUND_ERR — значение 1;

— SECURITY_ERR — значение 2;

— ABORT_ERR — значение 3;

— NOT_READABLE_ERR — значение 4;

— ENCODING_ERR — значение 5;

— NO_MODIFICATION_ALLOWED_ERR — значение 6;

— INVALID_STATE_ERR — значение 7;

— SYNTAX_ERR — значение 8;

— INVALID_MODIFICATION_ERR — значение 9; О QUOTA_EXCEEDED_ERR — значение 10;

— TYPE_MISMATCH_ERR — значение 11;

— PATH EXISTS ERR — значение 12.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *