Bom dia Galera!
É o seguinte tenho uma aplicação em Flex, na qual preciso fazer upload de uma imagem (até ai, tá tudo Ok)
Em seguida, essa Imagem precisa ser exibida em tempo de execução na aplicação(até aqui tudo Ok Também)
O Problema surge, quando tento add essa imagem em um campo MEDIUMBLOB no BD.
Para um melhor entendimento vou adicionar trechos do Codigo:
private var refUploadFile:FileReference;
private var imagemCranioCaudalForcada:ByteArray;
private var imagemCraniocaudal:ByteArray;
private var imagemMedioLateralObliqua:ByteArray;
private var imagemPerfi:ByteArray;
/** * @private * Chamado quando o botão de adicionar arquivo for clicado. */
private function adicionarArquivos():void
{
/* Inicializa o FileReference a adicinar os Listeners */
refUploadFile = new FileReference();
refUploadFile.browse();
refUploadFile.addEventListener(Event.SELECT, trateArquivoSelecionado);
refUploadFile.addEventListener(Event.COMPLETE, trateArquivoCompleto);
}
private function trateArquivoSelecionado(event:Event):void
{
/* Este metodo LOAD, foi implementado na versao do FP 10,
* é graças a ele que conseguimos recuperar o ByteArray e enviar para o Server */
refUploadFile.load();
}
public function trateArquivoCompleto(event:Event):void
{
imgCranioCaudal.load(refUploadFile.data);
refUploadFile = event.currentTarget as FileReference;
/* readBytes é responsavel por ler logicamente os dados do FileReference
* e repassar o valor do ByteArray do arquivo para a variavel armazenadora */
refUploadFile.data.readBytes(imgCraniocaudal, 0, refUploadFile.data.length);
//(Nesse Momento imgCraniocaudal é consderada de acesso indefindo???? mas ela foi declada no começo do codigo).
}
No trecho acima está quase tudo Ok, tirando esse problema de acesso indefinido(quem souber qual o problema, me dê um toque no que estou deixando passar).
E por ultimo tento Add a Imagem.
public function incluirExame():void
{
var radiologista:String;
var anamnese:String;
var data:String;
radiologista = cbradiologista.text;
anamnese = cbanamnese.text;
data = txtdata.text;
Controlador.incluirExame(radiologista,anamnese,data,imagemCraniocaudal,imagemCranioCaudalForcada,imagemMedioLateralObliqua,imagemPerfi)
}
O Problema realmente está aqui na camada do Flex.
(caso precisem do codigo da camada Java também passo aqui pra ajudarem a solucionar o problema).
Desde já, Obrigado a todos Pela atenção!