Resultado de etiquetas “upload”

Las restricciones de seguridad que impiden a javascript a acceder al sistema de archivos no nos permiten poder realizar tareas como el envío de ficheros al servidor (upload). Si pretendíamos realizar esto con Ajax nos golpearemos con un muro una y otra vez. Sí es posible emular un comportamiento similar al que conseguiríamos con Ajax usando las ya viejas técnicas de iframes ocultos.

La simulación consiste básicamente en realizar el en envío del formulario (submit) teniendo como destino (target) un iframe oculto del que podemos capturar el evento onload para detectar la finalización del envío del archivo.

Para practicar con esto he preparado un ejemplo usando Cake en Laboratorio cakePHP: #0608111 ajax upload. El ejemplo consiste en poder subir archivos sin "recargar" la página. Mediante Ajax se muestran los seis últimos archivos subidos y sus tamaños en bytes. En el formulario tenemos la suma del tamaño de los archivos (actualizado con Ajax) y un campo en el que podemos añadir una cantidad para realizar la suma al pulsar en "Calcular", momento en el que se recargará la página.

1