Pessoal estou tentando pegar a foto do p:fileUpload e carregar em um dataGrid mais não esta dando certo , o datagrid fica vazio…
Estou passado um Image no value do <p:graphicImage/>
Veja meu código pagina.xhtml
<p:dataGrid id="dgdFotos"
var="foto"
value="#{albumMB.fotos}"
columns="3"
rows="6"
paginator="true"
effect="true">
<p:column>
<p:panel header="#{foto.nome}"
style="text-align:center">
<h:panelGrid columns="1"
style="width:100%">
<p:graphicImage value="#{foto.imagem}"/>
<h:outputText value="#{foto.nome}" />
</h:panelGrid>
</p:panel>
</p:column>
</p:dataGrid>
<h:outputLink title="Upload Fotos"
onclick="fudSelecionarFotos.upload();"/>
<p:fileUpload id="fudSelecionarFotos"
fileUploadListener="#{albumMB.selecionarFotos}"
image="/imagens/selecionarFotos.jpg"
multiple="true"
allowTypes="*.jpg;*.png;*.gif;"
description="Images"
update="dgdFotos"/>
meu MB
public void selecionarFotos(FileUploadEvent event) {
UploadedFile uf = event.getFile();
String nomeArquivo = uf.getFileName();
Foto foto = new Foto();
foto.setNome(nomeArquivo);
InputStream is = null;
try {
is = uf.getInputstream();
foto.setFoto(new byte[is.available()]);
Image imagem = Toolkit.getDefaultToolkit().createImage(new byte[is.available()]);
foto.setImagem(imagem);
this.getFotos().add(foto);
} catch (IOException ex) {
ex.printStackTrace();
} finally {
try {
is.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
Alguem poderia me ajudar?
Obrigado