--- title: FileReader slug: Web/API/FileReader tags: - API - DOM - File API - WebAPI - Файлы translation_of: Web/API/FileReader ---

{{ APIRef("File API") }}

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

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

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

Важное замечание: FileReader используется только для безопасным образом чтения содержимого файла из пользовательской (удалённой) системы. Его нельзя использовать для простого чтения файла по пути из файловой системы. Для чтения файла по пути в JavaScript следует использовать стандартное решение Ajax для чтения файла на стороне сервера с разрешение CORS при кроссдоменном чтении.

{{AvailableInWorkers}}

Конструктор

FileReader FileReader();

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

Свойства

{{domxref("FileReader.error")}} {{readonlyinline}}
{{domxref("DOMError")}} представляет собой ошибку, происходящую при чтении файла.
{{domxref("FileReader.readyState")}} {{readonlyinline}}
Число обозначающее состояние объекта FileReader. Принимает одно из значений {{ anch("State constants") }}.
{{domxref("FileReader.result")}} {{readonlyinline}}
Данные из файла. Значение свойства действительно только когда завершится операция чтения, причём формат данных зависит от способа, с помощью которого процесс был вызван.

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

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

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

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

Методы

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

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

Спецификация Статус Комментарий
{{SpecName('File API','#FileReader-interface','FileReader')}} {{Spec2('File API')}} Начальное определение.

Поддержка браузерами

{{Compat("api.FileReader")}}

Примечания по реализации

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

Смотрите также