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

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

Жанры

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

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

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

Матабар IV

Клеванский Кирилл Сергеевич
4. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар IV

Красноармеец

Поселягин Владимир Геннадьевич
1. Красноармеец
Фантастика:
боевая фантастика
попаданцы
4.60
рейтинг книги
Красноармеец

Князь Андер Арес 4

Грехов Тимофей
4. Андер Арес
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Князь Андер Арес 4

Хозяин Стужи 7

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

Бояръ-Аниме. Газлайтер. Том 30

Володин Григорий Григорьевич
30. История Телепата
Фантастика:
альтернативная история
аниме
фэнтези
5.00
рейтинг книги
Бояръ-Аниме. Газлайтер. Том 30

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

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

Любовь Носорога

Зайцева Мария
Любовные романы:
современные любовные романы
9.11
рейтинг книги
Любовь Носорога

Черная стрела

Стивенсон Роберт Льюис
Приключения:
исторические приключения
8.83
рейтинг книги
Черная стрела

Черный маг императора 2

Герда Александр
2. Черный маг императора
Фантастика:
юмористическая фантастика
попаданцы
аниме
6.00
рейтинг книги
Черный маг императора 2

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

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

Неучтенный элемент. Том 12

NikL
12. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 12

Наследие Маозари 2

Панежин Евгений
2. Наследие Маозари
Фантастика:
попаданцы
рпг
аниме
5.00
рейтинг книги
Наследие Маозари 2

Gloster Gladiator

Иванов С. В.
72. Война в воздухе
Научно-образовательная:
история
военная техника и вооружение
военная история
5.00
рейтинг книги
Gloster Gladiator

Афганский рубеж 4

Дорин Михаил
4. Рубеж
Фантастика:
попаданцы
альтернативная история
6.00
рейтинг книги
Афганский рубеж 4