Subir archivos en Flash con FileReference y Php

Por el 10 de Diciembre de 2007

en: Programacion

La última versión de Adobe Flash trae una clase realmente útil a la hora de subir archivos mediante Flash, esta tarea en versiones anteriores era bastante más complicada.

Para realizar este ejemplo no se necesita casi ningún tipo de conocimiento previo ya que es un ejemplo bastante sencillo, la clase flash.net.FileReference
nos permite abrir la caja de búsqueda de archivos de nuestro sistema operativo y escoger archivo para enviarlo al servidor.

En los ejemplos de la página el directorio de destino no tiene permisos de escritura así que la subida no se llegará a completar, de todas maneras en los ejemplos se puede ver el proceso completo.

Ejemplo de uso de FileReference

Este es un ejemplo con una interfaz en la cual se puede subir archivos a un servidor remoto, mostrando una barra de progreso y una lista de las acciones que se van realizando, todo ello usando la clase anteriormente citada flash.net.FileReference.

Como he dicho anteriormente el ejemplo es muy sencillo y está debidamente comentado, en este enlace te puedes descargar el ejemplo completo para probarlo en otro servidor.

Ver ejemplo
Descargar código fuente

Para ver bien su funcionamiento habrá que subir un archivo de un peso aproximado a 1 MB.



Propiedades

creationDate : Date La fecha de creación del archivo en el disco duro.

creator : String El creador de archivos para Macintosh Disponible solo para Macintosh.

modificationDate : Date La fecha de cuando el archivo fue modificado por ultima vez.

name : String El nombre del archivo.

size : uint El tamaño del archivo, en bytes.

type : String El tipo de Archivo.

Métodos

addListener(listener:Object) : Void Registra un objeto para recibir una notificación cuando un evento es invocado.

browse([typelist:Array]) : Boolean Lanza la caja de dialogo para escoger un archivo.

cancel() : Void Cancela la operación de subir o descargar archivos.

download(url:String, [defaultFileName:String]) : Boolean Lanza la caja de dialogo donde el usuario escoge donde guardar el archivo que descargara del servidor.

removeListener(listener:Object) : Boolean Remueve el objeto de la lista de objetos que reciben los eventos de notificación.

upload(url:String) : Boolean Comienza la transferencia del archivo seleccionado hacia el servidor.

Eventos

onCancel Se invoca cuando el usuario hace clic en el botón cancel de la caja de dialogo.

onComplete Se invoca cuando la transferencia del archivo termina, ya sea cuando se sube o se descarga.

onHTTPError Se invoca cuando ocurre un error de http.

onIOError Se invoca cuando ocurre un error input/output ocurre.

onOpen Se invoca cuando la transferencia del archive comienza, ya sea cuando de sube o se descarga.

onProgress Se invoca cada determinado tiempo hasta que la transferencia del archivo termina, ya sea cuando se sube o se descarga.

onSecurityError Se invoca cuando la transferencia del archive falla por rezones de seguridad.

onSelect Se invoca cuando el usuario escogió el archivo desde la caja de dialogo.

1 Respuesta a Subir archivos en Flash con FileReference y Php

Avatar

Emiliano

29 de Abril de 2008 a las 2:26 pm

Muy bueno.

Para los que no lo pueden compilar, tienen que renombrar el archivo subida.as como UploadExample.as y listo.

Mi único problema es que no se por que no puedo subir archivos de más de 50 megas!, a alguien le pasó ?
Gracais

Avatar

Víctor

10 de Diciembre de 2007 a las 6:07 pm

Gracias colega!!!. Muy buen artículo. Es de gran ayuda cuando quieres subir un fichero de gran tamaño para que el cliente sepa que porcentaje lleva de subida y no hacerle esperar sin saber que es lo que ocurre. Además muy fácil de implementar.

Avatar

Snow

30 de Marzo de 2008 a las 2:14 pm

Buenas tardes, ante todo decirte que muy buen trabajo y agradecerte que lo compartas.

Por otro lado me gustaría preguntarte sobre como se podrían aplicar las siguientes funcionalidades:

1.- Que aparezca un listdo de los archivos subidos
2.- Que los puedas descargar
3.- Que los puedas borrar del server.

Gracias por adelantado
Atentamente

Snow

Avatar

Anónimo

14 de Abril de 2008 a las 12:54 am

cuando lo abro con flash cs3 se dalña el archivo…. los botones se desabilitan y sale errro que no se pudo cargar la “”"UploadExampla…que tengo que hacer?

Avatar

Anónimo

20 de Mayo de 2008 a las 4:28 pm

hola me llamo andy, thnks x compartir tus conocimientos, fijate que estoy tratando de adecuar tu ejemplo para subir lñas imagenes a un servidor, pero me sale error de:
onIOError: 1-trabajando.jpg

* Proceso de subida fallido al comenzar

ya renombre el archivo de subida.as

si me pudieras ayudar, no le he cambiado nada, ¿donde se le indica en que ruta guardar las imagenes?

espero ansiosa tu respuesta jeje

Avatar

andy

22 de Mayo de 2008 a las 1:04 pm

ke ondas guarro tambien a mi me pasa lo mismo no sera por las versiones del flash ke el ejemplo no sea para Flash 8? ke es con el ke lo estoy usando,
bueno si lo resulevo o lo resuelves nos avisamos no?

:=)

Avatar

Betza

31 de Mayo de 2008 a las 10:14 am

Hola probe el ejemplo y funciona pero por alguna razon solo sube el ultimo archivo seleccionado si pudieras explicarme seria de gran ayuda. Ademas modifique el archivo as para que no me mostrara toda la informacion del archivo que trato de subir pero igual lo muestra. Gracias por tu ayuda

Avatar

Abel

11 de Diciembre de 2007 a las 1:03 am

No es Macromedia sino Adobe Flash ;D

Avatar

JimmySlam

12 de Diciembre de 2007 a las 5:24 pm

Pues yo ya llevo usando este tipo de uploads desde hace mas de un anio. Lo hacia ya con flash 8 osea que de nuevo tiene poco :)

Avatar

Anónimo

13 de Febrero de 2008 a las 8:03 am

Asique tu servidor se encuentra en teconozco.net!

Avatar

Jaime

22 de Enero de 2008 a las 4:29 pm

Como puedo hacer que acepte todo tipo de archivos, que pueda subir a mi servidor todo tipo de archivos pdf, ppt, psd, swf, etc etc etc, Lo agradecere mucho..

Avatar

fabiana

12 de Mayo de 2008 a las 8:11 am

Hola necesito urgente el codigo y si podrias indicarme donde reemplazar con mis datos por q no logro hacerlo funcionar
gracias!!!

Avatar

Kai

3 de Junio de 2008 a las 5:03 am

Muy buen artículo!!
Gracias por la explicación.

Pero a que se debe el siguiente error?
* Proceso de subida fallido al comenzar
onIOError: lista.gif

alguien lo sabe?

Avatar

Guarro

22 de Mayo de 2008 a las 11:20 am

hola que tal a todos

bueno me pareci interezante y sencilla esta forma de subir archivos al server

trate de implementar esto, pero no me funciono.. al final de la carga de archivos me salio un mensaje que dice:

onHTTPError: sin global.jpg

a alguien le ha pasado???

Avatar

chabona

14 de Julio de 2008 a las 12:33 am

Hola gente!!! Espero que alguien me pueda dar una manito. No soy experta en Flash y como se imaginaran probe el ejemplo pero NO ME FUNCIONA!!
Cuando lo ejecuto me tira el sig. error:”No se pudo cargar la clase o interfaz ‘UploadExample’.” No se si es por ello que no funciona¿?¿?¿?¿?¿

¿Alguien sabe que debo cambiar del codigo para que funcione?

Muchisismas gracias.

Avatar

Anónimo

3 de Noviembre de 2008 a las 2:43 pm

pues no lo habre mi pc alguien me puede decir como es un archivo zip el ejemplo

Avatar

Ana

28 de Octubre de 2008 a las 4:30 am

Hola, pues en Mac no funciona, cuando le doy a examinar no me deja subir ningún archivo, ni imágenes ni nada.
¿Como puedo hacer para poder subir archivos con Mac?
Gracias

Avatar

Ana

28 de Octubre de 2008 a las 4:30 am

Hola, pues en Mac no funciona, cuando le doy a examinar no me deja subir ningún archivo, ni imágenes ni nada.
¿Como puedo hacer para poder subir archivos con Mac?
Gracias

Avatar

antonio

22 de Agosto de 2008 a las 12:17 pm

un 10 para el programador, pero al cambiar las extensiones del .as y publicarlo me sale un error que no puede decrear la uploadejemplo, alguien sabe porque?

Avatar

Ana

28 de Octubre de 2008 a las 4:31 am

Hola, pues en Mac no funciona, cuando le doy a examinar no me deja subir ningún archivo, ni imágenes ni nada.
¿Como puedo hacer para poder subir archivos con Mac?
Gracias

Avatar

PetBang

21 de Enero de 2009 a las 10:16 am

Como veo que nadie da una solución para todas esas personas que no les funciona el ejemplo cuando compilan la pelicula, pues bien:

*El problema es porque esta mal la referenfia del ActionScript (subida.as)

Teneis que renombrar ’subida.as’ a ‘UploadExample.as’ y luego si ejecutais los dos ficheros tanto el ‘fla’ como es ‘as’ el ‘fla’ os dejara compilar, así de sencillo.

Para los que no les deja subir mas de 3 o 5 megas seguramente sea por culpa del servidor, hay un archivo en tu server llamado php.ini dentro de el hay un bloque llamado File Uploads ahi es donde hay que modificarlo.

Dejar un comentario

Patrocinadores

¿Interesado en patrocinar TuFunción?

Suscripción

Primera División