Código ActionScript :
import flash.net.FileReference; var fileUpload:FileReference = new FileReference(); var path:String = "http://www.xxxxxx.net/uploadDir" var escucha:Object = {}; var fileTypes:Array; var getFile:String; function init() { System.security.allowDomain(path); load_mc._visible = false; fileTypes = [{description:"Archivos de Imagen", extension:"*.jpg;*.gif;*jpeg;*.png;*.pdf", macType:"JPEG;jp2_;GIFF"}]; upload_btn.label = "Upload File"; down_btn.label = "Download File"; upload_btn.addEventListener("click", doUpload); down_btn.addEventListener("click", doDownload); fileUpload.addListener(escucha); escucha.onSelect = doSelect; escucha.onComplete = doComplete; escucha.onCancel = doCancel; escucha.onProgress = doProgress; data_mc.addEventListener("change", setDownload); makeList(); } function doComplete() { load_mc.barra_mc._xscale = 0; load_mc.label_txt.text = "Tranferencia Completa"; makeList(); } function doProgress(archivo:FileReference, bLoaded:Number, bTotal:Number) { var porcentaje = Math.round((bLoaded*100)/bTotal); load_mc.label_txt.text = porcentaje+"% del archivo "+archivo.name; load_mc.barra_mc._xscale = porcentaje; } function doCancel() { trace("El Usuario Cancelo"); } function doSelect(archivo:FileReference) { load_mc._visible = true; load_mc.barra_mc._xscale = 0; fileUpload.upload(path+"/uploadFile.php"); } function doDownload() { if (getFile != undefined) { fileUpload.download(path+"/"+getFile); } } function doUpload(event) { fileUpload.browse(fileTypes); } function setDownload(c:MovieClip) { getFile = c.target.selectedItem.Nombre; } function makeList() { data_mc.removeAll(); var list_xml:XML = new XML(); list_xml.ignoreWhite = true; list_xml.load(path+"/lista.php"); list_xml.onLoad = function() { var nodos = this.firstChild.childNodes; for (var a in nodos) { var size:Number = Math.ceil((nodos[a].attributes.tamanio/1024)); data_mc.addItem({Nombre:nodos[a].attributes.name, Tamaño:size+" Kb"}); } }; } init();