Ah, tranquilo cara…
Eu consegui aqui de uma outra maneira, vou postar aqui como ficou.Seguinte:
Na minha classe de persitencia ( Usuario ), tenho um trecho de código assim:
@Column(length = 50, nullable = false)
private String nome;
private byte[] binariosImagem;
@Column(name = "FOTO", nullable = false,length=500)
public byte[] getBinariosImagem() {
return this.binariosImagem;
}
public void setBinariosImagem(byte[] binariosImagem) {
this.binariosImagem = binariosImagem;
}
Onde o atributo binariosImagem, que armazenará a imagem, é do tipo byte.Após o hibernate criar as tabelas precisei modificar o tipo do campo binariosImagem para MEDIUMBLOB.
Na minha classe controlador, o método que faz a gravação ficou assim:
public void fazerUpload(byte[] bytes, String fileName) throws Exception
{
Usuario usuario = new Usuario();
usuario.setCpf("545.454.454-4");
usuario.setNome("nome de alguém");
usuario.setBinariosImagem(bytes);
usuarioDAO.gravar(usuario);
}
Ainda na classe controlador, tenho um métod responsável por buscar um determinado usuário e devolver isto em um List para a tela mxml
public List carregar(String cpf) {
List resultado = new ArrayList();
Usuario u = usuarioDAO.buscarPorCPF(cpf);
resultado.add(u);
return resultado;
}
Na minha tela, utilizo um RemoteObject para acessar os métodos do controlador.Nela, na parte de upload, fiz tudo o que é mostrado na vídeo aula postada pelo Rovides, e adicionei a linha que aciona o método do controlador que faz a gravação:
Controlador.fazerUpload(data, refUploadFile.name);
Possuo também na tela, um método resposável pelo carregamento dos dados de um usuário em um grid
public function carregar():void
{
var cpf:String;
cpf = txtcpf.text;
Controlador.carregar(cpf);
}
public function carregarOk(event:ResultEvent):void
{
listagem = event.result as ArrayCollection;
}
public function carregarErro(event:FaultEvent):void
{
Alert.show("erro" + event.fault);
}
Neste caso, a variável listagem é um ArrayCollection [Bindable] , tenho um DataGrid que aponta para esta variável.
<mx:DataGrid x="40" y="37" width="160" dataProvider="{listagem}" id="grid">
<mx:columns>
<mx:DataGridColumn headerText="Column 1" dataField="nome"/>
<mx:DataGridColumn headerText="Column 2" dataField="binariosImagem"/>
</mx:columns>
</mx:DataGrid>
E por último ( ufa! ), tenho um componente Image que “aponta” para a linha selecionada do DataGrid.
<mx:Image x="430" y="177" autoLoad="true" id="_img" source="{grid.selectedItem.binariosImagem}"/>
Bom pessoal, é isto, esta foi a solução que encontrei e compartilho-a com vocês.Espero que isso ajude mais alguém.E agradeço aí ao Rovides e ao renzonuccitelli pela colaboração.Valeu!!! ![:wink: :wink:](//www.guj.com.br/images/emoji/twitter/wink.png?v=5)