--- title: FileReader.readAsDataURL() slug: Web/API/FileReader/readAsDataURL tags: - Archivos - Referencia - metodo translation_of: Web/API/FileReader/readAsDataURL ---

{{APIRef("File API")}}

El método readAsDataURL es usado para leer el contenido del especificado {{domxref("Blob")}} o {{domxref("File")}}.  Cuando la operación de lectura es terminada, el {{domxref("FileReader.readyState","readyState")}} se convierte en DONE, y el {{event("loadend")}} es lanzado. En ese momento, el atributo {{domxref("FileReader.result","result")}} contiene  la información como una URL representando la información del archivo como una cadena de caracteres codificados en base64.

Sintaxis

instanceOfFileReader.readAsDataURL(blob);

Parametros

blob
El {{domxref("Blob")}} o {{domxref("File")}} desde el cual leer.

Ejemplo

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 = "";
  }
}

Resultado en vivo

{{EmbedLiveSample("Ejemplo", "100%", 240)}}

Nota: el constructor FileReader()  no es soportado por Internet Explorer version anterior a la 10. Para una completa compatibilidad de codigo puedes ver nuestra Posibler solución de compatibilidad para vista previa de imagenes entre navegadores. Ve también este ejemplo más poderoso.

Especificaciones

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

Compatibilidad de navegadores

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

Tambien ver