Foros del Web » Creando para Internet » Flash y Actionscript »

en al flas (el ide) funciona de lujo en el navegador se queda pillado

Estas en el tema de en al flas (el ide) funciona de lujo en el navegador se queda pillado en el foro de Flash y Actionscript en Foros del Web. os vomito codigo antes que nada para que vayáis asustandos esta es la clase principal, la de botón no tiene nada es una clase vacia ...
  #1 (permalink)  
Antiguo 17/04/2011, 20:15
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
en al flas (el ide) funciona de lujo en el navegador se queda pillado

os vomito codigo antes que nada para que vayáis asustandos
esta es la clase principal, la de botón no tiene nada es una clase vacia de código esta ahi de por si acaso quiero algún día que el botón sea un tanto especial
Código as3:
Ver original
  1. package{
  2.     import flash.display.MovieClip;
  3.     import clases.Boton;
  4.     import flash.events.*;
  5.     import flash.net.FileReferenceList;
  6.     import flash.net.*;
  7.     import flash.net.URLRequest;
  8.     public class main extends MovieClip
  9.     {
  10.         public var fileRefList = new flash.net.FileReferenceList();
  11.         public var listener = new Object();
  12.         var arcsubidos=0;
  13.         public function main()
  14.         {
  15.             fileRefList.addEventListener(Event.SELECT, subir);
  16.             var browsebtn:Boton = new Boton();
  17.             addChild(browsebtn);
  18.             browsebtn.x=100;
  19.             browsebtn.y=100;
  20.             browsebtn.addEventListener(MouseEvent.CLICK, browser);
  21.            
  22.  
  23.         }
  24.         function browser (e:MouseEvent):void{
  25.             fileRefList.browse([ new FileFilter("Imagenes *.jpg *.gif *.png", "*.jpg;*.gif;*.png")]);
  26.         }
  27.         function subir(e:Event):void{
  28.             var archivos = new Array();
  29.             archivos = fileRefList.fileList;
  30.             var numero=archivos.length;
  31.             var peso=0;
  32.             for (var a = 0; a < archivos.length; a++)
  33.             {
  34.                
  35.                
  36.                 peso = Number(peso) + Number(archivos[a].size);
  37.                
  38.             }
  39.             texto.text="archivos="+numero+" \r peso="+peso/1024/1024+" MB";
  40.             for (var a = 0; a < archivos.length; a++)
  41.             {
  42.                 var selectedFile = archivos[a];
  43.                
  44.                 selectedFile.upload(new URLRequest("http://localhost/archivos/3/uploadFile.php"));
  45.             }
  46.            
  47.         }
  48.        
  49.         function busccerrado(e:Event):void{
  50.             trace("cerrado");
  51.         }
  52.         function subido(e:Event):void{
  53.             arcsubidos++;
  54.             subidos.text=arcsubidos;
  55.         }
  56.     }
  57. }

ya se que es mucho código para pedir un cable rápido pero bueno es lo que hay ;)

el problema que tengo es que esto si lo ejecuto desde flash va de lujo pero desde el navegador se me queda pillado como cuando te metes en un bucle infinito de esos que se comen el procesador, se queda todo el navegador pillado y toca matar el proceso y todas las ventanas a tomar por viento grooveshark incluido ;)

el caso es que ya ando loco no se que puede ocurrir para que desde el navegador no funcione no se si es por enviar todos los uploads de golpe
Cita:
selectedFile.upload(new URLRequest("http://localhost/archivos/3/uploadFile.php"));
que se sature el navegador y se vaya todo al traste, yo voy a ir probando enviar los uploads uno por uno segun vayan terminando las subidas pero si alguien ha caido en esto alguna vez y sabe que esa no es la solucion o se intuye otra mejor me ahorra un intento ;)

y para el que le pueda servir esto,

esta es la manera de poder hacer un upload de múltiples archivos simultaneamente con flash en as3 pero si alguien lo coje y lo consigue arreglar que postee el arreglo anda
  #2 (permalink)  
Antiguo 18/04/2011, 06:34
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: en al flas (el ide) funciona de lujo en el navegador se queda pillado

bueno aunque no haya ayudado nadie ya tengo la solucion, si que era porque se saturaba o el servidor o el navegador enviando todos los requests de golpe, si los envio de uno en uno va perfecto

aqui teneis el codigo por si le sirve a alguien
Código as3:
Ver original
  1. package{
  2.     import flash.display.MovieClip;
  3.     import clases.Boton;
  4.     import flash.events.*;
  5.     import flash.net.FileReferenceList;
  6.     import flash.net.*;
  7.     import flash.net.URLRequest;
  8.     public class main extends MovieClip
  9.     {
  10.         public var fileRefList = new flash.net.FileReferenceList();
  11.         public var listener = new Object();
  12.         var arcsubidos=0;
  13.         public var a=0;
  14.         public var selectedFile
  15.         public var archivos = new Array();
  16.         public function main()
  17.         {
  18.             fileRefList.addEventListener(Event.SELECT, subir);
  19.             var browsebtn:Boton = new Boton();
  20.             addChild(browsebtn);
  21.             browsebtn.x=100;
  22.             browsebtn.y=100;
  23.             browsebtn.addEventListener(MouseEvent.CLICK, browser);
  24.            
  25.  
  26.         }
  27.         function browser (e:MouseEvent):void{
  28.             fileRefList.browse([ new FileFilter("Imagenes *.jpg *.gif *.png", "*.jpg;*.gif;*.png")]);
  29.         }
  30.         function subir(e:Event):void{
  31.            
  32.             archivos = fileRefList.fileList;
  33.             var numero=archivos.length;
  34.             var peso=0;
  35.             for (var a = 0; a < archivos.length; a++)
  36.             {
  37.                
  38.                
  39.                 peso = Number(peso) + Number(archivos[a].size);
  40.                
  41.             }
  42.             texto.text="archivos="+numero+" \r peso="+peso/1024/1024+" MB";
  43.             selectedFile = archivos[0];
  44.             selectedFile.addEventListener(Event.COMPLETE, siguiente);
  45.             selectedFile.upload(new URLRequest("http://localhost/archivos/3/uploadFile.php"));
  46.         }
  47.         function siguiente(e:Event):void{
  48.             a++;
  49.             if(a<archivos.length){
  50.                 selectedFile=archivos[a]
  51.                 trace("siguienete");
  52.                 selectedFile.addEventListener(Event.COMPLETE, siguiente);
  53.                 selectedFile.upload(new URLRequest("http://localhost/archivos/3/uploadFile.php"));
  54.             }else{
  55.                 trace("terminados");
  56.             }
  57.            
  58.         }
  59.        
  60.         function busccerrado(e:Event):void{
  61.             trace("cerrado");
  62.         }
  63.         function subido(e:Event):void{
  64.             arcsubidos++;
  65.             subidos.text=arcsubidos;
  66.         }
  67.     }
  68. }
si alguien lo coje que lo termine de apañar, esá hecho a lo rápido, aun se puede optimizar y se deben reiniciar las variables una vez termine cada tanda

Etiquetas: flas, ide, navegador, pillado, queda
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:44.