La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Capítulo 4 La API File para manejar archivos

Presentaciones similares


Presentación del tema: "Capítulo 4 La API File para manejar archivos"— Transcripción de la presentación:

1 Capítulo 4 La API File para manejar archivos

2 La API File para manejar archivos
Otra de las maravillosas API de HTML5 es la de manejo de archivos de la máquina del usuario (JavaScript que se ejecuta en él, no tiene acceso a los archivos del servidor). Dentro de la compatibilidad con los navegadores, fundamental en el desarrollo con HTML5, tenemos la siguiente tabla:

3 ETIQUETAS Para leer los archivos podemos utilizar la etiqueta <input type=”file”>, pero también los API drag&drop sirven para abrir o procesar un archivo, leer su contenido y los datos propios de éste, como su peso, tipo, etcétera. Se puede restringir el tipo de archivos al subirlo a un servidor, por el tamaño de los mismos o establecer un filtro por fecha de creación. Esta API también modifica y analiza los archivos antes de procesarlos en el servidor, lo cual nos ahorrará muchos dolores de cabeza en la validación de nuestras aplicaciones Web.

4 4.1 Acceder a un archivo por medio de la etiqueta <input>
La forma más tradicional de seleccionar un archivo de la computadora del usuario es por medio de la etiqueta <input>, que por lo general era enviado y procesado con PHP o algún lenguaje de servidor similar. Aquí utilizamos una forma diferente de validar si nuestro navegador tiene implementado la API File, preguntamos por el objeto File y el objeto FileReader. Por medio de un listener detectamos cuando el usuario ha seleccionado un archivo y lo desplegamos.

5 Lectura del nombre de archivo con la API File

6 4.2 Leer los atributos de un archivo del usuario
Dentro del mismo arreglo tenemos los datos generales del archivo, como son el nombre, su tamaño y el tipo de archivo que el usuario ha seleccionado. En este listado estamos leyendo los datos del archivo en una variable (que en realidad es un objeto JavaScript) y desplegamos los datos como el nombre, el tamaño en bytes y el tipo del mismo en las etiquetas de tipo <p>. Ahora traeremos varios archivos con una etiqueta <input> múltiple.

7 Lectura de los datos de archivo con la API File

8 4.3 Selección de varios archivos con la etiqueta <input>
Debemos utilizar el atributo múltiple y obtener la información del arreglo por medio de un ciclo. Simplemente generamos una cadena con el ciclo de los archivos elegidos y acumulamos los tamaños de los archivos seleccionados en una variable.

9 Selección de varios archivos con la etiqueta <input>

10 4.4 Arrastrar y soltar para seleccionar un archivo
En la función de mover el archivo tenemos dos instrucciones importantes: La primera detiene la propagación del evento. En el modelo DOM3 tenemos tres fases en la programación de los eventos: difusión, notificación y “burbuja” o “bubbles”. Con esta instrucción detenemos el paso de las burbujas. La segunda instrucción detiene el comportamiento por omisión de un objeto que es arrastrado. Por ejemplo, cuando arrastramos y soltamos una imagen, el navegador abre la misma en forma independiente, o en algunos casos en una nueva pestaña. Las cadenas arrastradas, en general, se abren como enlaces URL. Con esta instrucción le indicamos al navegador que no ejecute la acción predeterminada.

11 Selección de varios archivos con la etiqueta <input>

12 4.5 Crear un filtro por tipo de archivo
Una vez que tenemos la información en el arreglo, nos será muy sencillo crear un filtro para seleccionar un tipo de archivo, o un filtro para no enviar los archivos mayores a cierto peso, entre muchas otras validaciones que podemos hacer con la información. Los archivos necesitan estar en la carpeta “dioses”, de lo contrario JavaScript no los encontraría y tendríamos imágenes rotas. Primero, abriremos los archivos de texto, y posteriormente los archivos binarios de imágenes.

13 4.6 Abrir los archivos de texto seleccionados
Para poder abrirlos necesitamos un objeto de tipo FileReader, con el cual podemos abrir y leer su contenido. Por medio del método readAsText() leemos su contenido como texto. Por ser procesos asíncronos —es decir, el programa no se detiene hasta finalizar la lectura, sino que continúa y existe la posibilidad de que no se despliegue la información en forma correcta— necesitamos un controlador de eventos, como onload(). Por medio del objeto FileReader() ya no requerimos saber la carpeta o subdirectorio donde reside el archivo para abrirlo.

14 4.7 Abrir y desplegar archivos de imágenes
El procedimiento para leer un archivo binario, en este caso de imágenes, es muy similar al listado 4.6, pero en este caso necesitamos un objeto de tipo Image, como mostramos a continuación:

15

16 4.8 Los eventos en la API File
Una API es tan poderosa como sus eventos, y este caso no es la excepción, pues contamos con muchos eventos para poder controlar nuestra carga de archivos. Los eventos que podemos detectar son los siguientes:


Descargar ppt "Capítulo 4 La API File para manejar archivos"

Presentaciones similares


Anuncios Google