Obrigado Bruno. Desculpa a demora, mas é que estou com o tempo meio curto por aquí. Meu proble aconteceu porque eu estava tentando mandar um byte[] do c# para o Flex, sendo que eu tinha que fazer um cast para FluorineFx.AMF3.ByteArray antes de enviar para o flex. Ainda assim, o C# não aceita conversão de byte[] para FluorineFx.AMF3.ByteArray. Então pra quem precisar foi mais ou menos assim:
lado servidor: MemoryStream ms = new MemoryStream(<seu byte[]>); //<seu byte[]> obviamente o campo retornado do bd FluorineFx.AMF3.ByteArray imagemBlob = new ByteArray(ms); return imagemBlob; lado client: img:Image = new Image(); img.source = evt.result; //evt.result contém o FluorineFx.AMF3.ByteArray que foi declarado como imagemBlob no server tabela de serialização fluorine: http://www.fluorinefx.com/docs/fluorine/typeconversion.html Obrigado ao Bruno e ao Mário. On 9 jun, 15:34, Bruno Tourinho <[email protected]> wrote: > Aí Leonardo, tô enviando para você e para o grupo caso alguém também > precise: > > *Para exibir a imagem já salva em ByteArray:* > > //-> sua imagem > var previewImg:Image = new Image(); > > var byteArr:ByteArray; > var base64:Base64Decoder = new Base64Decoder(); > base64.decode(<SEU BYTEARRAY AQUI>); > byteArr = base64.toByteArray(); > previewImg.source = byteArr; > > *Para salvar a imagem é um pouquinho mais chato:* > > //-> inicia o menu para selecionar os arquivos usando filereference > private function startLoadingFile():void > { > _loadFile = new FileReference(); > _loadFile.addEventListener(Event.SELECT, selectHandler); > var fileFilter:FileFilter = new FileFilter("Imagens: (*.jpg, > *.png)", "*.jpg; *.png"); > _loadFile.browse([fileFilter]); > } > //-> handler da selecao do arquivo > private function selectHandler(event:Event):void > { > _loadFile.removeEventListener(Event.SELECT, selectHandler); > _loadFile.addEventListener(Event.COMPLETE, > loadCompleteHandler); > _loadFile.load(); > } > //-> handler do carregamento do arquivo > private function loadCompleteHandler(event:Event):void > { > _loadFile.removeEventListener(Event.COMPLETE, > loadCompleteHandler); > var loader:Loader = new Loader(); > loader.contentLoaderInfo.addEventListener(Event.COMPLETE, > loadBytesHandler); > loader.loadBytes(_loadFile.data); > } > //-> funcao que carrega a imagem para bytes > private function loadBytesHandler(event:Event):void > { > var loaderInfo:LoaderInfo = (event.target as LoaderInfo); > loaderInfo.removeEventListener(Event.COMPLETE, > loadBytesHandler); > imageToDisplay = loaderInfo.content as Bitmap; > > //-> minha POG para converter tanto PNG quanto JPG > > if(_loadFile.name.substring(_loadFile.name.length-3,_loadFile.name.length).toLowerCase() > == 'png') > { > var pngEncoder:PNGEncoder = new PNGEncoder(); > preview.source = imageToDisplay; > imageByteArray = > pngEncoder.encode(imageToDisplay.bitmapData) as ByteArray; > } > else > > if(_loadFile.name.substring(_loadFile.name.length-3,_loadFile.name.length).toLowerCase() > == 'jpg') > { > var jpgEncoder:JPEGEncoder = new JPEGEncoder(); > preview.source = imageToDisplay; > imageByteArray = > jpgEncoder.encode(imageToDisplay.bitmapData) as ByteArray; > } > > //-> Aí você manda o imageByteArray pro banco > > Espero que ajude, eu demorei pra achar na internet algo que funcionasse > Ahh, observação, fiz isso com o FB 4.5 mas acredito que deva funcionar no > FB4 também... > > 2011/6/9 Leonardo Oliveira <[email protected]> > > > > > > > > > Bruno, se puder envia pro meu email por favor. > > obrigado. > > > On 8 jun, 16:16, Bruno Tourinho <[email protected]> wrote: > > > Eu fiz salvando no sql como BASE64 na hora de voltar é só fazer um load e > > a imagem recebe o bytearray! Tenho uns códigos aqui se precisar! > > > > Bruno > > > > Sent from my iPhone > > > > On 08/06/2011, at 01:53 PM, Mário Júnior <[email protected]> wrote: > > > > > Com Java simplesmente mando um Byte[] para o Flex, que irá chegar como > > um ByteArray (tipagem no AS3) e "bindo-o" com o source de um Image. > > > > > Como vc está usando .Net, precisa ver com o seu middleware se ele > > suporta serialização de bytes.. pesquise na documentação do fluorine ou do > > WebORB (os dois serializadores usados para .Net). > > > > > Veja oq está chegando no resultEvent das chamadas pelo Debugger, se for > > um ByteArray deve funcionar, com certeza. > > > > > []'s > > > > > Em 8 de junho de 2011 13:57, Leonardo Oliveira < > > [email protected]> escreveu: > > > > bom pessoal, eu sei que muita gente já falou sobre o assunto, mas > > > > mesmo com todas as pesquisas e tentativas aquí, estou tendo > > > > dificuldades em montar uma imagem na tela. > > > > bom, através da FileReference, envio a imagem para o C# que por sua > > > > vez grava no Oracle (blob). agora quero fazer o processo inverso, > > > > alguém pode me dar um help? > > > > valeu. > > > > > -- > > > > 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 emhttp://groups.google.com/group/flexdev > > > > > -- > > > > Mario Junior > > > >http://blog.mariojunior.com/ > > > > @mariojunior > > > > -- > > > > 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 emhttp://groups.google.com/group/flexdev > > > -- > > 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 emhttp://groups.google.com/group/flexdev -- 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
