Evitar navegación.
Principal

Subir archivos en Flash con FileReference y Php

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.

Enlaces Relacionados


Y este error?

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?

Bueno

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

me sale un error al final de la carga

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???

ke ondas guarro tambien a

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?

:=)

subir archivos

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

Muy bueno. Para los que no

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

cuando lo abro con flash cs3

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?

Funcionalidades

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

Tu servidor

Asique tu servidor se encuentra en teconozco.net!

Ayuda

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..

Pues yo ya llevo usando este

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 :)

FileReference

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

Sobre Flash

No es Macromedia sino Adobe Flash ;D

Muy Bueno!!!

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.

Enviar un comentario nuevo

El contenido de este campo se mantiene como privado y no se muestra públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.

Más información sobre opciones de formato