Ola Luis!
Obrigado pela sua ajuda, não havia pensado em eventos, mas de qualquer
forma, consegui fazer funcionar com o Complete mesmo.
Meu problema agora é outro. Por qualquer N motivo, o script
server-side não esta aceitando o contentType que o flex manda.
Estou recebendo o erro:
Invalid or corrupt MIME headers. Please check the referring form's ENCTYPE
Aparentemente o URLRequest.contentType = "multipart/form-data" não
esta sendo aceito como o ENCTYPE do form de html.
Alguem tem alguma ideia???
Segue um exemplo da questão do upload usada:
var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest(url);
var file:FileReference = new FileReference()
loader.addEventListener(Event.COMPLETE,function(e:Event):void{
//mostra o que retornou do serverside
mx.controls.Alert.show(e.target.data)
})
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
request.url = "http://www.servidor.com/servico"
request.method = URLRequestMethod.POST;
request.contentType = "multipart/form-data"
file.addEventListener(Event.SELECT,function(e:Event):void{
var variables:URLVariables = new URLVariables();
variables.enctype = "multipart/form-data"
variables.arquivo = file
request.data = variables
loader.load(request);
})
file.browse([new FileFilter("JPG Files", "*.jpg")])
Abraços!
Rogério
On 9/27/07, Luis Eduardo <[EMAIL PROTECTED]> wrote:
>
>
>
> Oi Rogério,
>
> eu já passei por isso uma vez e a solução que encontrei foi parar de
> usar o evento "complete" e passei a usar o evento "uploadCompleteData"
> já que esse último pode trazer um xml do servidor. Depois disso é só
> tratar o xml para ver o que o servidor quis conversar contigo. Pode se
> uma mensagem de erro... um catch... uma stacktrace do java...qualquer
> coisa.
>
> ------- aqui é um trecho do codigo de envio do
> upload.---------------------------
>
> _refUploadFile = new FileReference();
> _refUploadFile = _arrUploadFiles[0].data;
> _refUploadFile.addEventListener(flash.events.DataEvent.UPLOAD_COMPLETE_DATA,
> onUploadCompleteData);
> _refUploadFile.addEventListener(ProgressEvent.PROGRESS, onUploadProgress);
> _refUploadFile.addEventListener(IOErrorEvent.IO_ERROR, onUploadIoError);
> _refUploadFile.addEventListener(SecurityErrorEvent.SECURITY_ERROR,
> onUploadSecurityError);
> _refUploadFile.upload(request);
>
> ------ aqui um treco do código da função
> onUploadCompleteData-------------------
>
> private function onUploadCompleteData(event:DataEvent):void {
> var retXML:XML = XML(event.data.toString());
> ...
> tratando aqui o xml
> ...
> }
>
>
> veja aí se com isso já resolve teu problema. Qualquer coisa é só gritar. :)
>
> abração,
> Luís Eduardo.
>
>
>
> Rogerio Gonzalez escreveu:
> > Falae pessoal...
> >
> >
> > Tenho um script server side que recebe o upload do FileReference. Até
> > ai, tudo bem. O problema é que esse script retorna um XML com dados
> > (por exemplo, o novo nome que o arquivo ganhou ao ser renomeado no
> > upload no servidor pelo server side).
> >
> > A questão é que não tenho acesso a esse retorno, ou pelo menos não
> > estou encontrando como capturar.
> >
> > Tentei usar o URLLoader para fazer a mesma coisa, mas da erro com o
> > multi-data/fileData.
> >
> > Abraços!
> >
> > Rogério Gonzalez
> >
> > >
> >
> >
>
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---