Actionscript3.0, Flash

noviembre 2007

ActionScript 3.0: Subir archivos con FileReference y PHP

La clase File Reference de AS3 es bastante parecida a la de AS2. Además el ejemplo de la ayuda de Flash es bastante sencillo de entender.El código que pongo a continuación esta hecho a partir de dicho ejemplo, al que he añadido algunos comentarios para explicarlo. Para utilizarlo Hay que tener en el escenario un boton llamado “Examinar_bt” y un campo de texto dinámico llamado “Estado_txt”.

Y los archivos fuente:

Descargar fuentes
Jovix says:

Muy bueno y claro el articulo. Utilice el script en un formulario que estoy haciendo en Flash, funciona bien el AS, pero cuando carga el archivo me da el siguiente error:
“Se ha producido el siguiente error: 404 – Error #2038”
Sospecho que el problema esta en los paths, tanto del que define el directorio de carga en el php, como el que esta en el AS y busca al php.
El path que define el directorio en el php, ¿es relativo al php mismo o al html donde esta el flash? Yo lo puse relativo al php.
Lo mismo con el AS, el path al php, ¿es relativo al html donde esta embebido el swf?
Al directorio que cree para subir los archivos les di todos los permisos como para no errarle.
Gracias por la dedicacion!

Jovix says:

Ya solucione lo del path, ahora funciona perfectamente, habia puesto mal el path al php del AS, era relativo al swf como debia estar.
Una inquietud, hay alguna forma de que el scroll de Estado_txt (… bueno me olvidaba, en vez de usar un texto dinamico utilice un textarea), permanezca siempre abajo, es decir, alguna manera de forzarlo a que siempre muestre la ultima linea. Sucede que cuando va cargando el archivo, los textos que va mostrando salen del cuadro y se quedan abajo, entonces hay que mover la barra de scroll para verlos.

Por lo pronto muchas gracias, me fue de suma utilidad el articulo.

esedeerre says:

Hola Jovix

Lo suyo es que hagas una función “ponerTexto” en la que centralices los mensajes, y en esa función hacer los apaños necesarios para que el texto se mueva como quieras.

Make Pixels says:

A mi me funciono pero hay dos cosas que me dar problema, 1 como hago para ver la foto subida en un fl.conteiner ILoader hay imagenes que tiene carateres esoerciales como niño.jpg que dan error como hago para reparar?
la imagen me aparece asi cajaimg.source=”caras/”+archivo.name; pero no siempre fuciona GRacias por tu ayuda!

esedeerre says:

@Make Pixels

La imagen se sube bien aunque tenga caracteres especiales, el “problema” viene luego. Yo te recomiendo que al subir la imagen la renombres en php y luego devuelvas el nueva nombre o id al flash.

Renata says:

Hola, estoy haciendo un ejemplo similar solo que quiero almacenar una imagen a mysql via php, he encontrado ejemplos en php donde lo hacen tomando el path del archivo seleccionado y quisiera saber si se podria usando flash, ojala me puedan ayudar o facilitar algun tutorial.

De antemano gracias a todos

Cristian says:

Hola a todos.. estoy utilizando este codigo, pero tengo varios problemas que no se como resolverlos. Haber si alguien me ayuda..

1. Necesito pasar desde AS el nombre por el cual voy a remplazar la imagen. por ejemplo si la imagen se llama abc y desde AS mando hola, como recibo hola en php para poder reemplazar por abc.

2. Como devuelvo el nuevo nombre a AS como esedeerre sugiere en el ultimo comment.

Michel says:

Mira Renata una solución a lo que quieres hacer es guardar el path de la imagen en el directorio donde has subido la imagen en una base de datos (puede ser mysql), así como el nombre y algún otro dato que desees de la imagen, y luego para visualizar solo tienes que hacer una consulta a la base de datos con el path guardado y con eso basta…espero que te sirva el comentario.

willy says:

MUCHAS GRACIAS POR EL CODIGO… me iluminaste el dia
ahora la pregunta del millon es como hago para mostrar la imagen cargada dentro de un movie… la idea es poder hacer qe el usuario personalize una postal y pueda subr su foto y que luego la podra ver en el movie junto a un mensaje

te agradesco de antemano por tu ayuda!!

vero says:

hola mm soy nueva en esto y cree una web en flash cs4 as3, quiero agregar un boton o un enlace para que los que visiten la pagina puedan descargar documentos en word, pdf o en ppt, cheque un codigo que tenian aqui, pero me aparece packeges cannot be nested, y copie el codigo directo de aqui. necesito ayuda porfas, estoy bien verde en esto.les agradeceria mucho su ayuda

vero says:

este es el codigo que use,
package {

import flash.display.Sprite;
import flash.events.*;
import flash.net.FileReference;
import flash.net.URLRequest;
import flash.net.FileFilter;

public class FileReference_download extends Sprite {
private var downloadURL:URLRequest;
private var fileName:String=”Tiempo_de_Renovacion.pps”;
private var file:FileReference;

public function FileReference_download() {
downloadURL = new URLRequest();
downloadURL.url=”http://www.[parroquiasanjoseapo].com/Tiempo_de_Renovacion.pps”;
file = new FileReference();
configureListeners(file);
file.download(downloadURL, fileName);
}
}
}
descarga_btn.addEventListener(MouseEvent.CLICK,descarga);

_hijack9 says:

no pusiste el codigo php

Lucas says:

Excelente, muchisimas gracias!!!

Ladymac says:

Hola gente, necesito a quien pueda ayudar porque me meti a hacer algo que ahora se me esta re complicando, el codigo que esta publicado es excelente (gracias!!!!) y ya me resolvio una parte de lo que tenia que hacer, pero ahora no encuentro la manera de hacer visible la imagen porque se me carga sola una vez que la tengo en el servidor, pido que me ayuden si pueden cualquier comentario me sera util.
Necesito que la imagen me aparezca cuando termine de cargar para que el usuario la pueda modificar y poner en un area determinada. Gracias a todos, saludos

Pregunton says:

Saludos

Oigan, esto es justo lo que busco pero falta la parte donde muestren la imagen que subimos
no se si puedan ayudarme
y si me explicaran todaviade una ofrma mas lenta pq no entiendo muy bien lo de los import gracias

aminobwana says:

muchas gracias por tu valioso aporte.. me ha sido de gran utilidad .. funciona de pelos!!

Salud en hora buena!

alexandro reyes says:

Hola que tal, tengo un gran problema con esta aplicación, es que al usarla ya en un servidor el archivo que subo no aparece en el directorio que uso!! no se que está pasando. En el código php dice que se sube a una carpeta llamada “subidas/”, yo lo cambié por una que se llama “curriculums/” pero subo archivos desde la página y me meto al servidor y la carpeta está vacia, no se por que, si alguien me pudiera ayudar le agradecería mucho, saludos a todos!!

alexandro reyes says:

Hola que tal, tengo un gran problema con esta aplicación, es que al usarla ya en un servidor el archivo que subo no aparece en el directorio que uso!! no se que está pasando. En el código php dice que se sube a una carpeta llamada “subidas/”, yo lo cambié por una que se llama “curriculums/” pero subo archivos desde la página y me meto al servidor y la carpeta está vacia, no se por que, si alguien me pudiera ayudar le agradecería mucho, saludos a todos!!

darksoul says:

Hola chicos, soy muy nuevo en esto y de antemano quiero agradecer por el aporte de este tutorial. sinembargo tengo algunas dudas. pues quiero meter todo ese codigo en un .as para ser usado como una clase, pero cuando lo importo en el fla no pasa nada. alguna idea de como puedo convertir bien eso a una clase y usarla para cualquier poryecto importandola desde el fla?

gracias.

Felipe says:

Hola.. oye me sale el mismo error de Jovix, pero no supe arreglar eso de los paths. ¿me podrían ayudar porfavor?

Gracias!!

Mona says:

luego de subirlos que? eso aparece en el mail? o como es el asunto!

gracias