Intenté debuggearlo y si se ejecuta bién la función llamada desde el exterior pero esa función en particular no hace nada.
Si lo llamo desde una función interna haciendole click a lo que sea ahi si funciona bién.
Será algún metodo de seguridad nativa o algo por el estilo?
por lo menos si me deja enviar el archivo desde ExternalInterface.
Código
import flash.net.FileReference; import flash.external.ExternalInterface; var arrTypes:Array = new Array(); var objTypes:Object = new Object(); objTypes.description = "Todos los archivos"; objTypes.extension = "*"; arrTypes.push(objTypes); var listUpload:Object = new Object(); var fileUpload:FileReference = new FileReference(); fileUpload.addListener(listUpload); function buscarFL(){ /* No funciona */ fileUpload.browse(arrTypes); } function subirFL(){ fileUpload.upload(_root.uploadfile); } ExternalInterface.addCallback("buscarFL", this, buscarFL); ExternalInterface.addCallback("subirFL", this, subirFL); btbrowse.onRelease = function() { /* Si funciona */ fileUpload.browse(arrTypes); } listUpload.onSelect = function(file) { ExternalInterface.call("seleccionado", file.name); } listUpload.onProgress = function(file, bytesLoaded, bytesTotal):Void { if(Math.round(bytesLoaded*100/bytesTotal) == 100){ ExternalInterface.call("estado", "Moviendo archivo ..."); }else{ ExternalInterface.call("estado", "Subiendo archivo " + Math.round(bytesLoaded*100/bytesTotal) + "%"); } } listUpload.onComplete = function(file:FileReference):Void { ExternalInterface.call("estado", "Archivo subido correctamente"); }