Este tip mostrará cómo crear un SWF que permitirá descargar archivos que tengamos en un servidor a través del componente List, importando el paquete flash.net y la clase FileReference.
Antes de empezar este tip se recomienda que leas el tutorial del Componente List acá: http://www.cristalab.com/tutoriales/47/tutorial-del-componente-list-de-flash.html, una vez hecho esto seguimos.
Empezamos creando una carpeta llamada en este caso "archivos", puede ser cualquier otro nombre mientras se vea reflejado en el código, en esta carpeta meteremos los archivos a descargar. Posteriormente creamos archivo de Flash de Action Script 2.0. Creamos una capa a la que llamaremos “List” y la otra capa la llamaremos “Acciones”. Ahora en la capa List insertamos el componente list y le damos como nombre de instancia list (valga la redundancia). A continuación en la capa Acciones insertamos en el fotograma el siguiente código:
Código :
//Importamos la librería "flash.net" y la clase "FileReference" import flash.net.FileReference; //Añadimos Items al componente list list.addItem({Archivo:"clabie.jpg"}); //Creamos un nuevo objeto (listener) listener = new Object(); listener.change = function(evt_obj:Object) { //Creamos la variable "select_obj" var select_obj:Object = evt_obj.target.selectedItem.Archivo; //Al seleccionarse el item lo descarga de la carpeta "archivos" archivo.download("./archivos/"+select_obj); }; list.addEventListener("change",listener); //Agregamos la variable "archivo" a la que hicimos referencia anteriormente var archivo:FileReference = new FileReference(); archivo.addListener(listener);
Nota: Podemos añadir cuantos ítems cómo queramos, mientras que éstos tengan su referencia en la carpeta archivos, es decir, si añadimos otro ítem llamado “sound.mp3” en la carpeta archivos debemos colocar el archivo “sound.mp3”
Exportamos y así hemos creado un medio para descargar archivos, usando el componente List, el paquete flas.net y la clase FileReference. Ahora sólo queda subirlo a un servidor o a nuestro AppServ.
Aqui puedes ver un ejemplo y descargarte los archivos.
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por hiulit el 19 de Noviembre de 2008
"//Al seleccionarse el item lo descarga de la carpeta "archivos"
archivo.download("./archivos/"+select_obj); "
esto pero con archivo.delete o algo así (porque delete precisamente no me deja)
muchas gracias!
Por hiulit el 22 de Noviembre de 2008
pero creo que chapuceramente lo he conseguido
aunue si me dices como li harias tu, estaré muy agradecido.
otra cosa ya que estamos, no entiendo muy bien la función de la variable "archivo", y porque sale una coma detrás de cada nombre?
gracias de nuevo!!!
Por hiulit el 22 de Noviembre de 2008
list2.addItem("hola");
y no me salen comas.
en cambio si pongo:
list2.addItem({archivo:"hola"});
si me salen...
Por hiulit el 23 de Noviembre de 2008
Código :
Por esto:
Código :
Espero que te sirva de algo
Por sergi el 18 de Marzo de 2009
Si quiero que se vea el proceso de descarga como lo hago? ya que lo descarga pero mientras no acaba no hay forma de ver cuanto ocupa o cuanto va a tardar.
Por El Ricky el 03 de Enero de 2010
Saludos...