Olá ClaudNeto.No caso do Flex, o melhor é gravar a imagem no banco mesmo.Pelo que percebi até agora, o Flex não carrega imagens “externas”.E se vc colocar a imagem dentro do projeto, ela só será carregada no próximo deploy da aplicação.
Faça assim:
1º - para a parte de upload, utilize estes vídeos aqui
Parte 1
Parte 2
2º - crie um tutorialzinho meio safado aqui…rs… siga mais ou menos estes passos aqui:
seu objeto de persistência deve ficar assim ( usando hibernate )
package persistencia;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
@SuppressWarnings("serial")
@Entity
public class Usuario implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long codigo;
@Column(length = 14, nullable = false)
private String cpf;
@Column(length = 50, nullable = false)
private String nome;
// REPAREM QUE O CAMPO QUE ARMAZENARÁ A FOTO FOI //DEFINIDO COMO byte
private byte[] binariosImagem;
@Column(name = "FOTO", nullable = false,length=500)
public byte[] getBinariosImagem() {
return this.binariosImagem;
}
public void setBinariosImagem(byte[] binariosImagem) {
this.binariosImagem = binariosImagem;
}
public Long getCodigo() {
return codigo;
}
public void setCodigo(Long codigo) {
this.codigo = codigo;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
No arquivo hibernate.cfg.xml , defina:
<property name="hbm2ddl.auto">create</property>
Após a ?recriação? da tabela, você verá que existirá um campo chamado ?foto?, e o tipo dele será Blob.vizualize a estrutura da tabela e altere o tipo deste campo para MediumBlob.
No seu controlador, você deve ter um método fazerUpload.Ele que contém os bytes referentes à imagem selecionada.Este método deverá ter também alguns dos comandos abaixo:
public void fazerUpload(byte[] bytes, String fileName) throws Exception
{
Usuario usuario = new Usuario();
usuario.setCpf("09809808");
usuario.setNome("nome");
usuario.setBinariosImagem(bytes);
System.out.println("gravando:" + bytes);
usuarioDAO.gravar(usuario);
}
Na tela, você deverá ter um DataGrid que exibe as informações do usuário.Deverá ser exibido também o campo foto.Você deverá ter um componente Image e o source deverá ?apontar? para o grid, como mostra a linha abaixo:
<mx:Image x="430" y="177" autoLoad="true" id="_img" source="{grid.selectedItem.binariosImagem}"/>
Tenta aí…qq coisa vou te ajudando…
t+