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 em http://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