Чтение онлайн

на главную - закладки

Жанры

JavaScript. Подробное руководство, 6-е издание
Шрифт:

• После окончания операции чтения при необходимости можно повторно использовать объект

FileReader
или удалить его и создать новый.

Синхронный прикладной интерфейс, который можно использовать в фоновых потоках выполнения, описывается в справочной статье

FileReaderSync
.

Конструктор

new FileReader

Новый объект

FileReader
создается с помощью конструктора
FileReader,
который не требует аргументов.

Константы

Следующие

константы определяют возможные значения свойства
readyState
:

unsigned short EMPTY = 0

Метод чтения еще не был вызваню

unsigned short LOADING = 1

Выполняется операция чтенияю

unsigned short DONE = 2

Операция чтения завершилась, успешно или с ошибкой.

Свойства

readonly FileError error

Если ошибка возникнет во время чтения, это свойство будет ссылаться на объект

FileError
, описывающий ошибку.

readonly unsigned short readyState

Это свойство описывает текущее состояние объекта

FileReader
. Его значением будет одна из трех констант, перечисленных выше.

readonly any result

Если операция чтения завершится успешно, это свойство будет хранить содержимое объекта

File
или
Blob
в виде строки или объекта
ArrayBuffer
(в зависимости от использовавшегося метода чтения). Когда свойство
readyState
имеет значение LOADING или когда возбуждается событие «progress», это свойство может хранить неполное содержимое объекта
File
или
Blob
. Если метод чтения еще не был вызван или если возникла ошибка, это свойство будет иметь значение null.

Методы

void abort

Прерывает операцию чтения. Он присваивает свойству

readyState
значение DONE, свойству
result
– значение null и свойству
error
– объект
FileError
со свойством
code
, установленным в значение FileError.AB0RT_ERR. После этого возбуждаются события «abort» и «loadend».

void readAsArrayBuffer(Blob blob)

• Асинхронно читает данные из объекта

blob
и сохраняет их в свойстве
result
в виде объекта
ArrayBuffer
.

void readAsBinaryString(Blob blob)

Асинхронно читает байты данных из объекта

blob
, преобразует их в двоичную строку и сохраняет ее в свойстве
result
. Каждый «символ» в двоичной строке представлен кодом символа в диапазоне от 0 до 255. Извлекать эти значения байтов можно с помощью метода
String.charCodeAt.
Следует отметить, что двоичные строки являются не самым эффективным представлением двоичных данных: вместо них следует использовать объекты
ArrayBuffer
,
когда это возможно.

void readAsDataURL(Blob blob)

Асинхронно читает байты данных из объекта

blob
, преобразует их (учитывая тип объекта
Blob
) в URL-адрес data:// и присваивает полученную строку свойству
result
.

void readAsText(Blob blob, [string encoding])

Асинхронно читает байты данных из объекта

blob
, декодирует их с использованием кодировки encoding в текстовую строку Юникода и затем присваивает полученную строку свойству
result
. Если аргумент encoding не указан, используется кодировка UTF-8 (текст в кодировке UTF-16 определяется и декодируется автоматически, если он начинается с маркера Byte Order Mark).

Обработчики событий

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

FileReader
опирается на события. Для регистрации обработчиков событий можно использовать свойства, перечисленные ниже, или методы интерфейса
EventTarget
, реализуемого объектом
FileReader
.

События объекта

FileReader
возбуждаются в самом объекте
FileReader
. Они не всплывают, и для них не предусматриваются действия по умолчанию. Обработчикам событий в объекте
FileReader
всегда передается объект
ProgressEvent
. Успешная операция чтения начинается с события «loadstart», за которым следует ноль или более событий «progress», событие «load» и событие «loadend». Неудачная операция чтения начинается с события «loadstart», за которым следует ноль или более событий «progress», событие «error» или «abort» и событие «loadend».

onabort

Вызывается, если операция чтения была прервана методом

abort.

onerror

Вызывается, если возникла какая-либо ошибка. Свойство error объекта

FileReader
будет ссылаться на объект
FileError
, который имеет свойство code с кодом ошибки.

onload

Вызывается в случае успешного завершения операции чтения объекта

File
или
Blob
. Свойство
result
объекта
FileReader
хранит содержимое объекта
File
или
Blob
в виде, зависящем от использовавшегося метода чтения.

onloadend

Каждый вызов метода чтения объекта

FileReader
в конечном итоге возбуждает событие «load», «error» или «abort». Кроме того, после каждого из этих событий объект
FileReader
возбуждает событие «loadend» для программ, в которых было бы желательно обрабатывать единственное событие вместо трех.

onloadstart

Вызывается после вызова метода чтения, но перед тем как будут прочитаны какие-либо данные.

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

Кодекс Охотника. Книга XVIII

Винокуров Юрий
18. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVIII

Гримуар темного лорда IX

Грехов Тимофей
9. Гримуар темного лорда
Фантастика:
попаданцы
альтернативная история
аниме
фэнтези
5.00
рейтинг книги
Гримуар темного лорда IX

Эпоха Опустошителя. Том I

Павлов Вел
1. Вечное Ристалище
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эпоха Опустошителя. Том I

Инженер Петра Великого

Гросов Виктор
1. Инженер Петра Великого
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Инженер Петра Великого

Древесный маг Орловского княжества 4

Павлов Игорь Васильевич
4. Орловское княжество
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Древесный маг Орловского княжества 4

Хозяин Теней 7

Петров Максим Николаевич
7. Безбожник
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Хозяин Теней 7

Курс 1. Сентябрь

Фокс Гарри
1. Маркатис
Фантастика:
аниме
фэнтези
сказочная фантастика
5.00
рейтинг книги
Курс 1. Сентябрь

Мастер 11

Чащин Валерий
11. Мастер
Фантастика:
боевая фантастика
попаданцы
технофэнтези
аниме
фэнтези
5.00
рейтинг книги
Мастер 11

Найденыш

Шмаков Алексей Семенович
2. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Найденыш

Палач

Зайцев Сергей Григорьевич
4. Викс
Фантастика:
фэнтези
7.27
рейтинг книги
Палач

Кодекс Императора IV

Сапфир Олег
4. Кодекс Императора
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Императора IV

Новые горизонты

Лисина Александра
5. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Новые горизонты

Дракон

Бубела Олег Николаевич
5. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.31
рейтинг книги
Дракон

Цикл "Идеальный мир для Лекаря". Компиляция. Книги 1-30

Сапфир Олег
Лекарь
Фантастика:
боевая фантастика
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Цикл Идеальный мир для Лекаря. Компиляция. Книги 1-30