Comunidad de diseño web y desarrollo en internet online

Creación de un downloader en ActionScript 3

Un downloader es un programa que descarga archivos, sin importar el nombre de la extensión que uno le dé.

En este tip aprenderemos cómo crear uno en Actionscript 3.

Comenzaremos creando la Clase "Downloader":

Código :


package Classes
{

//Importamos los paquetes necesarios
import flash.events.*;
import flash.net.FileReference;
import flash.net.URLRequest;
import flash.net.FileFilter;

public class Downloader
{
private var fileToDownload:URLRequest;//El archivo a descargar
private var fileReference:FileReference;//Este objeto se encarga de la descarga

public function downloadFile(input:String):void //Donde "input" es el archivo a descargar
{
fileToDownload = new URLRequest();
fileToDownload.url = input;
fileReference = new FileReference();
configureHandlers(fileReference);
fileReference.download(fileToDownload);
}

//Configuramos los Listeners que se encargaran de determinado suceso
private function configureHandlers(dispatcher:IEventDispatcher):void
{
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
}

private function completeHandler(event:Event):void
{
trace("Complete" + event);
}

private function ioErrorHandler(event:IOErrorEvent):void
{
trace("Error" + event);
}

private function progressHandler(event:Event):void
{
trace("Progress" + event);
}
}
}



Luego creamos una interface que contenga un boton de descarga llamado "dl" y un campo de texto de entrada llamado "inputField" y lo convertimos todo a un solo MC llamado "main".

Creamos un archivo .as con nombre "AS3Downloader.as" y colocamos el siguiente código:

Código :


import Classes.Downloader;

var file:Downloader = new Downloader();//Creamos un objeto Downloader

function catchEnter(event:KeyboardEvent):void//Checamos si se presiona enter
{
if(event.keyCode == Keyboard.ENTER)
{
file.downloadFile(main.inputField.text);//Donde inputField es el campo de texto donde escribimos el archivo que queremos descargar
}
}

stage.addEventListener(KeyboardEvent.KEY_DOWN, catchEnter);

function catchButton(event:MouseEvent):void//O si se presiona el botón
{
file.downloadFile(main.inputField.text);
}

main.dl.addEventListener(MouseEvent.CLICK, catchButton);



Con esto terminamos todo el código.

Recuerden que Flash maneja http y https, por lo que todas las url's que escribamos tendrán que empezar con "http://" o "https://", además de que deberán modificar la configuracion del Flash Player para que el swf pueda acceder a internet.

Aquí el ejemplo:


Ejemplo: "http://www.adobe.com/index.html"

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

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate