--- title: FileReader.readAsDataURL() slug: Web/API/FileReader/readAsDataURL translation_of: Web/API/FileReader/readAsDataURL ---

{{APIRef("File API")}}

Метод readAsDataURL используется для чтения содержимого указанного {{domxref("Blob")}} или {{domxref("File")}}.Когда операция закончится, {{domxref("FileReader.readyState","readyState")}} примет значение DONE, и будет вызвано событие {{event("loadend")}}. В то же время, атрибут  {{domxref("FileReader.result","result")}} будет содержать данные как URL, представляющий файл, кодированый в base64 строку.

Синтаксис

instanceOfFileReader.readAsDataURL(blob);

Параметры

blob
{{domxref("Blob")}} или{{domxref("File")}} которые следует прочитать.

Пример

HTML

<input type="file" onchange="previewFile()"><br>
<img src="" height="200" alt="Image preview...">

JavaScript

function previewFile() {
  var preview = document.querySelector('img');
  var file    = document.querySelector('input[type=file]').files[0];
  var reader  = new FileReader();

  reader.onloadend = function () {
    preview.src = reader.result;
  }

  if (file) {
    reader.readAsDataURL(file);
  } else {
    preview.src = "";
  }
}

Результат

{{EmbedLiveSample("%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80", "100%", 240)}}

Примечание: FileReader() конструктор не поддерживается Internet Explorer до 10 версии. Для полностью совместимого решения прочтите crossbrowser possible solution for image preview. Смотрите так же this more powerful example.

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

{{page("/en-US/docs/Web/API/FileReader","Specifications")}}

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

{{page("/en-US/docs/Web/API/FileReader","Browser compatibility")}}

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