From c4f16c96e4b566dda3d48b91ebbb85de5c0a2ec3 Mon Sep 17 00:00:00 2001 From: Anderson Vallejo <48649209+Vallejoanderson@users.noreply.github.com> Date: Wed, 16 Feb 2022 17:56:58 -0500 Subject: Content sync and updated to md | Filereader.readasdataurl [ES] (#4067) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * sync and updated to md * Apply suggestions from code review Co-authored-by: Juan Vásquez --- files/es/web/api/filereader/readasdataurl/index.md | 116 +++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 files/es/web/api/filereader/readasdataurl/index.md (limited to 'files/es/web/api/filereader/readasdataurl/index.md') diff --git a/files/es/web/api/filereader/readasdataurl/index.md b/files/es/web/api/filereader/readasdataurl/index.md new file mode 100644 index 0000000000..ff9f56302e --- /dev/null +++ b/files/es/web/api/filereader/readasdataurl/index.md @@ -0,0 +1,116 @@ +--- +title: FileReader.readAsDataURL() +slug: Web/API/FileReader/readAsDataURL +translation_of: Web/API/FileReader/readAsDataURL +browser-compat: api.FileReader.readAsDataURL +--- +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 un [datos: URL](/es/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) representando la información del archivo como una cadena de caracteres codificados en base64. + +> **Nota:** El {{domxref("FileReader.result","result")}} de blob no puede ser +> directamente decodificado como Base64 sin primero remover la delaración de Datos-URL +> de la información codificada en Base64. Para recuperar únicamente la cadena codifidicada +> en Base64, primero remueve `data:*/*;base64,` del resultado. + +## Sintaxis + +```js +instanceOfFileReader.readAsDataURL(blob); +``` + +### Parametros + +- `blob` + - : El {{domxref("Blob")}} o {{domxref("File")}} desde el cual leer. + +## Ejemplo + +### HTML + +```html +
+Image preview... +``` + +### JavaScript + +```js +function previewFile() { +  const preview = document.querySelector('img'); +  const file = document.querySelector('input[type=file]').files[0]; +  const reader = new FileReader(); + +  reader.addEventListener("load", function () { +  // convierte la imagen a una cadena en base64 +    preview.src = reader.result; +  }, false); + +  if (file) { +    reader.readAsDataURL(file); +  } +} +``` + +### Resultado + +{{EmbedLiveSample("Ejemplo", "100%", 240)}} + +## Ejemplo leyendo multiples archivos + +### HTML + +```html + +
+``` + +### JavaScript + +```js +function previewFiles() { + + var preview = document.querySelector('#preview'); + var files = document.querySelector('input[type=file]').files; + + function readAndPreview(file) { + + // Asegurate que `file.name` coincida con el criterio de extensiones + if ( /\.(jpe?g|png|gif)$/i.test(file.name) ) { + var reader = new FileReader(); + + reader.addEventListener("load", function () { + var image = new Image(); + image.height = 100; + image.title = file.name; + image.src = this.result; + preview.appendChild(image); + }, false); + + reader.readAsDataURL(file); + } + + } + + if (files) { + [].forEach.call(files, readAndPreview); + } + +} +``` + +> **Nota:** El constructor [`FileReader()`](/es/docs/Web/API/FileReader) no es soportado por Internet +> Explorer versión anterior a la 10. Para una completa compatibilidad de código puedes ver nuestra +> [imagen previa para una posible solucion entre navegadores](https://mdn.mozillademos.org/files/3699/crossbrowser_image_preview.html). +> Véase también [este ejemplo más completo](https://mdn.mozillademos.org/files/3698/image_upload_preview.html). + +## Especificaciones + +{{Specifications}} + +## Compatibilidad con navegadores + +{{Compat}} + +## Véase también + +- {{domxref("FileReader")}} +- {{domxref("URL.createObjectURL()")}} -- cgit v1.2.3-54-g00ecf