<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
width="400"
height="130"
title="Download"
showCloseButton="true"
close="PopUpManager.removePopUp(this)"
creationComplete="init()">
<mx:NumberFormatter id="numberFormatter" rounding="up"/>
<mx:ProgressBar id="pgbProgresso" mode="manual" labelPlacement="center" width="100%" height="100%"/>
<mx:ControlBar horizontalAlign="center">
<mx:Button label="Cancelar" click="{PopUpManager.removePopUp(this)}"/>
</mx:ControlBar>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.managers.PopUpManager;
import mx.rpc.events.ResultEvent;
[Bindable] private var downloadURL :URLRequest;
[Bindable] private var file :FileReference;
[Bindable] public var fileName :String;
[Bindable] public var fileUrl :String;
private function init():void {
file = new FileReference();
file.addEventListener(Event.CANCEL, cancelHandler);
file.addEventListener(Event.COMPLETE, completeHandler);
file.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
file.addEventListener(Event.OPEN, openHandler);
file.addEventListener(ProgressEvent.PROGRESS, progressHandler);
file.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
file.addEventListener(Event.SELECT, selectHandler);
pgbProgresso.label = "AGUARDANDO ARQUIVO";
pgbProgresso.setStyle("color",uint(0x999999));
downloadURL = new URLRequest();
downloadURL.url = fileUrl;
if(!fileName)
{
var arrayUrl : Array = fileUrl.split('/');
fileName = arrayUrl[arrayUrl.length-1];
}
file.download(downloadURL, fileName);
}
private function cancelHandler(event:Event):void {
PopUpManager.removePopUp(this)
}
private function completeHandler(event:Event):void {
pgbProgresso.setProgress(0,100);
pgbProgresso.label = "DOWNLOAD CONCLUÍDO!";
Alert.show("DOWNLOAD CONCLUÍDO","Atenção");
PopUpManager.removePopUp(this);
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
private function openHandler(event:Event):void {
trace("openHandler: " + event);
}
private function progressHandler(event:ProgressEvent):void {
var file:FileReference = FileReference(event.target);
pgbProgresso.setProgress(event.bytesLoaded,event.bytesTotal);
pgbProgresso.label = "CARREGANDO " + numberFormatter.format(pgbProgresso.percentComplete) + "%";
pgbProgresso.setStyle("color",uint(0x000000));
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
pgbProgresso.label = "ERRO AO BAIXAR ARQUIVO!";
pgbProgresso.setStyle("color",uint(0xCC0000));
}
private function selectHandler(event:Event):void {
var file:FileReference = FileReference(event.target);
trace("selectHandler: name=" + file.name + " URL=" + downloadURL.url);
}
]]>
</mx:Script>
</mx:TitleWindow>
Usando.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Button label="Download" click="download()"/>
<mx:Script>
<![CDATA[
import mx.managers.PopUpManager;
private function download():void
{
var download : Download = new Download();
download.fileUrl = "http://fpdownload.macromedia.com/get/flashplayer/current/licensing/win/install_flash_player_10_active_x.exe";
PopUpManager.addPopUp(download,this,true);
PopUpManager.centerPopUp(download);
}
]]>
</mx:Script>
</mx:Application>
0 comentários:
Postar um comentário