Realmente não tem como outro evento chamar o save do filereference a não ser a acao direta do usuario.
On 14 out, 09:26, Eduardo Rodrigues <[email protected]> wrote: > Pessoal, bom dia! > > Tenho um arquivo cujos bytes são gerados por um RemoteObject. > A parte java e a chegada dos dados do arquivo estão ok mas estou tendo > um problema com o FileReference e o evento de result do RemoteObject. > O código AS3 está mais ou menos assim: > [code] > //Evento do botão > public function onClickArquivoButton ( event:MouseEvent ):void > { > remoteObject.recuperarArquivo(); > > } > > //Result do RemoteObject > public function recuperarArquivoResult(e:ResultEvent):void > { > var fileReference:FileReference = new FileReference(); > fileReference.save(e.result, null);} > > [/code] > > Este código dá o erro que se segue: > [code] > Error: Error #2176: Certas ações, como aquelas que exigem uma janela > pop-up, só podem ser invocadas com interação do usuário, por exemplo, > clicar com o mouse ou pressionar um botão. > at flash.net::FileReference/_save() > at flash.net::FileReference/save() > ... > [/code] > > O que acontece é que para utilizar o FileReference é necessário que o > método que utiliza-o seja invocado por uma ação do usuário e pelo que > eu entendo o Flex não entende o evento de resultado do RemoteObject > como sendo uma ação invocada com interação do usuário, mesmo que a > chamada do RemoteObject tenha sido originada por uma ação do > usuário(no caso o acionamento do botão). > Pesquisando na internet vi que o pessoal tende a carregar os bytes do > arquivo assim que listam ou mostram os arquivos mas no meu caso é > inviável essa opção pois o usuário deve alterar alguns dados no > sistema e depois gerar o arquivo (fiquei também pensando no tráfego > desnecessário de dados caso o usuário nunca venha a precisar do > arquivo). > Já consegui implementar com duas ações do usuário (algo como "Preparar > Arquivo" e "Salvar Arquivo") mas gostaria de saber se há alguma > maneira de fazer com apenas uma ação do usuário sem pré-carregar os > dados do arquivo. > > Desde já agradeço! --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
