Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

keepkuler

FileReference - Upload

Recommended Posts

Boa tarde,

 

Gostaria de uma ajuda, pois já busquei algumas soluções no Google e não obtive sucesso.

 

O que acontece, ao enviar o arquivo - imagem - para o servidor tenho o seguinte retorno:

 

SecurityError: Error #2000: Não há contexto de segurança ativo.

 

Tudo ocorre dentro do mesmo domínio, não há conexão com servidor externo.

 

Acredito que a única peculariedade é o apontamento para o arquivo php, que está a um nível acima, porém, antes de fazer o teste com upload, fiz teste com um 3 campos de formulário, usando o mesmo caminho e o insert no banco de dados foi OK.

 

Abaixo coloco parte da classe para ficar vísivel o que fiz.

 

private var uploadURL:URLRequest;
private var fileRef:FileReference;

private var __pathURL:String;
private var __textDisplay:TextField;

/**
* Recebe o caminho para arquivo php que fara o UPLOAD
*/
public function get pathURL():String { return __pathURL; }
public function set pathURL(value:String):void { __pathURL = value; }

/**
* Recebe o nome do campo texto para visualizar caminho
*/
public function get textDisplay():TextField { return __textDisplay; }
public function set textDisplay(value:TextField) { __textDisplay = value; }

/**
* Inicia ação de UPLOAD
*/
public function initUpload():void
{
uploadURL	= new URLRequest(pathURL.toString());
fileRef 	= new FileReference();

fileRef.addEventListener(Event.SELECT, selectHandler);

try { var success:Boolean = fileRef.browse(); }
catch (error:Error) { trace("Unable to browse for files."); }
}

/**
* Acionado para o usuário startar a seleção
*/
private function selectHandler(e:Event):void
{
textDisplay.text = fileRef.name;

try { fileRef.upload(uploadURL); }
catch (error:Error) { trace("ERROR: Unable to upload file.", "\nNome:", fileRef.name, "\nURL:", uploadURL.url); }
}

 

Um outro teste que realizei é fazer a chamada do mesmo link via navigateToURL, para saber se conseguia acessar o arquivo. O resultado foi OK, acessei o arquivo abrindo em uma nova janela.

 

Se alguém já passou por isso e puder ajudar, agradeço.

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

achei uns "ajustes técnicos" no google sobre esse erro

 

teste fazer isso:

 

 

 

setTimeout( function():void{

 try {
    fileRef.upload(uploadURL);
 }catch (error:Error) { 
   trace("ERROR: Unable to upload file.", "\nNome:", fileRef.name, "\nURL:", uploadURL.url); 
 }

}, 1);

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eder,

 

Agradeço, mas já tentei usar o setTimeout, não funcionou. Essa foi umas das sugestões que encontrei no google.

 

 

achei uns "ajustes técnicos" no google sobre esse erro

 

teste fazer isso:

 

 

 

setTimeout( function():void{

 try {
	fileRef.upload(uploadURL);
 }catch (error:Error) { 
   trace("ERROR: Unable to upload file.", "\nNome:", fileRef.name, "\nURL:", uploadURL.url); 
 }

}, 1);

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoas!

 

Deixei o projeto de lado, fui fazer outras coisas e retomei o projeto esse dias, buscando a solução para o problema de upload.

 

Bom, deixei a preguiça de lado e resolvi tentar entender o que acontecia, fiz alguns testes e cheguei a solução. O que acontecia é que o servidor onde tenho meu domínio e onde faço os testes possui o mod_security habilitado, com isso os POST são desabilitados.

 

A solução foi adicionar um arquivo .htaccess na pasta que acesso o script e adicionar a linha:

 

#habilita ModSecurity
SecFilterEngine Off

 

Isso resolveu o problema.

 

O que acontece agora é que no FF4 o retorno ainda é de erro #2038, mas, a funcionalidade do upload é 100%.

 

Se alguém passar por isso, vai a dica.

 

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.