Comunidad de diseño web y desarrollo en internet online

SecurityError

Citar            
MensajeEscrito el 08 May 2007 10:10 am
Hola tios, tengo un problema con un un
filereference.download(request), el error que me da es el siguiente:

SecurityError: Error #2148: El archivo SWF http://localhost:8080/transfer/flex/Transfer.swf
no puede acceder al recurso local file:///c:\trf.sql. Sólo los
archivos SWF locales del sistema de archivos y de confianza pueden
acceder a los recursos locales.

Por cierto, ya he provado lo de -use-network=false y nada

Por sith

10 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 May 2007 01:18 pm
¿Puedes poner el código que estas utilizando para así poder verificar el problema?

Por shogoki

355 de clabLevel

4 tutoriales

 

Venezuela

firefox
Citar            
MensajeEscrito el 09 May 2007 02:58 pm
private function getFileDownload():void {
//var request:URLRequest = new URLRequest("c:\\trf.sql");
var request:URLRequest = new URLRequest("trf.sql");
var file:FileReference = new FileReference();
file.addEventListener(Event.COMPLETE, archivoRecivido);
file.download(request);
}

La variable request comentada hace referencia a la dirección absoluta del documento a descargar es con la que me da el error, sin embargo si utilizo la segunda, con el archivo en la misma carpeta que el swf, me sale la ventana para elegir donde quiero descargarlo, pero no baja nada, de hecho la función archivoRecivido nonca se ejecuta ya que nunca se recive el evento Event.COMPLETE;

Por sith

10 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 May 2007 07:35 pm
Si el archivo a descargar se encuentra en la misma carpeta puedes usar:

Código :

private function getFileDownload():void {
   downloadURL = new URLRequest();
   downloadURL.url = "./trf.sql"
   var file:FileReference = new FileReference();
   file.addEventListener(Event.COMPLETE, archivoRecivido);    
   file.download(downloadURL, "trf.sql");
}

Por shogoki

355 de clabLevel

4 tutoriales

 



Ultima edición por shogoki el 10 May 2007 03:51 pm, editado 1 vez

Venezuela

firefox
Citar            
MensajeEscrito el 10 May 2007 01:09 pm
q va tio, he probado tu código y nada, igual que con el mio, todas las pruebas las estoy haciendo desde mi pc con windows, nada de servidor de momento, que es donde esperaría tener problemas, no en el pc.

Por sith

10 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 May 2007 01:10 pm
¿Cuando lo probaste con ese código que número de error te dio el sistema?

Por shogoki

355 de clabLevel

4 tutoriales

 

Venezuela

firefox
Citar            
MensajeEscrito el 10 May 2007 03:37 pm
Con ese código no me sale ningun error, en apariencia parece que todo va ok, pero cuando vas a la carpeta que seleccionas para ver si se ha descargado el archivo compruebas que no hay nada, además la función que se debe ejecutar cuando se completa la descarga no se ejecuta, lo ue esta hace es lanzar un alert de aviso de que se ha completado la descarga

Por sith

10 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 May 2007 03:38 pm
por cierto con el mio sucedia lo mismo

Por sith

10 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 May 2007 04:02 pm
¿Estas usando los eventos para verificar el número del error?. Si no es así prueba con este código para ver el error

Código :


private function getFileDownload():void {
   downloadURL = new URLRequest();
   downloadURL.url = "./trf.sql"
   var file:FileReference = new FileReference();
   file.addEventListener(Event.COMPLETE, archivoRecivido);    
   configureListeners(file);
   file.download(downloadURL, "trf.sql");     
 }

 private function configureListeners(dispatcher:IEventDispatcher):void {
           dispatcher.addEventListener(Event.CANCEL, cancelHandler);
           dispatcher.addEventListener(Event.COMPLETE, completeHandler);
           dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
           dispatcher.addEventListener(Event.OPEN, openHandler);
           dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
           dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
           dispatcher.addEventListener(Event.SELECT, selectHandler);
}

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

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

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);
          trace("progressHandler name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);  
}

private function securityErrorHandler(event:SecurityErrorEvent):void {
          trace("securityErrorHandler: " + event);
}

private function selectHandler(event:Event):void {
            var file:FileReference = FileReference(event.target);
            trace("selectHandler: name=" + file.name + " URL=" + downloadURL.url);            
}


Cuando lo ejecutes utiliza Debug en ves de Run para que puedas ver los trace

Por shogoki

355 de clabLevel

4 tutoriales

 

Venezuela

firefox
Citar            
MensajeEscrito el 12 May 2007 10:23 am
Pues nada, sigue pasando lo mismo, parece que todo funciona correctamente, pero el archivo sigue sin descargarse, y además ningun handler se dispara ni ningun error

Por sith

10 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Jun 2008 03:16 pm
public var file:FileReference;

private function getFileDownload():void {

var request:URLRequest = new URLRequest("trf.sql");
file = new FileReference();
file.addEventListener(Event.COMPLETE, archivoRecivido);
file.download(request);

}

debes declarar la variable FileReference fuera de la función para que no sea una variable local de esta función.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.