FileReader

Общая информация

Объект FileReader позволяет веб-приложениям асинхронно читать содержимое файлов (или буферы данных), хранящиеся на компьютере пользователя, используя объекты File или Blob, с помощью которых задается файл или данные для чтения.

Объекты File можно получить через объект FileList, который возвращается как результат при выборе файлов пользователем с помощью элемента <input>, через drag and drop из объекта DataTransfer, или с помощью mozGetAsFile(), метода доступного в API элемента HTMLCanvasElement.

Конструктор

FileReader FileReader();

Более детально, с примерами см. Использование файлов в веб-приложениях.

Свойства

FileReader.error Read only
DOMError представляет собой ошибку, происходящую при чтении файла.
FileReader.readyState Read only
Число обозначающее состояние объекта FileReader. Принимает одно из значений State constants.
FileReader.result Read only
Данные из файла. Значение свойства действительно только когда завершится операция чтения, причем формат данных зависит от способа, с помощью которого процесс был вызван.

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

FileReader.onabort
Обработчик для события abort. Это событие срабатывает каждый раз, когда прерывается операция чтения.
FileReader.onerror
Обработчик для события error. Это событие срабатывает каждый раз, когда при чтении возникает ошибка.
FileReader.onload
Обработчик для события load. Это событие срабатывает при каждом успешном завершении операции чтения.
FileReader.onloadstart
Обработчик для события loadstart. Это событие срабатывает каждый раз, при запуске процесса чтения.
FileReader.onloadend
Обработчик для события loadend. Это событие срабатывает каждый раз по окончании процесса чтения (не важно, успешном или нет).
FileReader.onprogress
Обработчик для события progress. Это событие срабатывает во время чтения данных из Blob.

Замечание: т.к. FileReader унаследован от EventTarget, на все перечисленные события можно подписаться, используя метод addEventListener.

Константы состояния

  • EMPTY   : 0 : Данные еще не были загружены.
  • LOADING : 1 : Данные в данный момент загружаются.
  • DONE    : 2 : Операция чтения была завершена.

Методы

FileReader.abort()
Отмена операции чтения. После вызова, значение readyState станет равным DONE.
FileReader.readAsArrayBuffer()
Запускает процесс чтения данных указанного Blob, по завершении, аттрибут result будет содержать данные файла в виде ArrayBuffer.
FileReader.readAsBinaryString()
Запускает процесс чтения данных указанного Blob, по завершении, аттрибут result будет содержать бинарные данные файла в виде строки.
FileReader.readAsDataURL()
Запускает процесс чтения данных указанного Blob, по завершении, аттрибут result будет содержать данные файла в виде data: URL.
FileReader.readAsText()
Запускает процесс чтения данных указанного Blob, по завершении, аттрибут result будет содержать данные файла в виде текста.

Спецификация

Спецификация Статус Комментарий
File API
Определение 'FileReader' в этой спецификации.
Рабочий черновик Начальное определение.

Совместимость в браузерах

Движок Firefox (Gecko) Chrome Internet Explorer* Opera* Safari
Базовая поддержка 3.6 (1.9.2) 7 10 12.02 6.0.2
Движок Firefox Mobile (Gecko) Android IE Mobile Opera Mobile Safari Mobile
Базовая поддержка 32 3 10 11.5 6.1

Заметки по реализации

Относительно движка Gecko

  • В версиях Gecko ниже 2.0 beta 7 (Firefox 4.0 beta 7), все параметры Blob были параметрами File; в последствии это было изменено, для соответствия спецификации.
  • В версиях Gecko ниже 13.0 (Firefox 13.0 / Thunderbird 13.0 / SeaMonkey 2.10) свойство FileReader.error возвращало объект FileError. Этот интерфейс был упразднен и теперь свойство FileReader.error возвращает объект DOMError, что соответствует определению FileAPI последней спецификации.

См. также

Метки документа и участники

Метки: 
 Внесли вклад в эту страницу: 3lvcz
 Обновлялась последний раз: 3lvcz,