Quando utilizo um GraphicImage para mostrar uma imagem na tela, após apertar f5 a imagem não se mantém na tela. Alguém poderia me ajudar ?
public void mostraFoto() throws IOException {
FacesContext facesContext = FacesContext.getCurrentInstance();
ServletContext scontext = (ServletContext) facesContext.getExternalContext().getContext();
if (objeto.getId() != null)
{
File file = new File((pastaFoto + "/" + fotoCurriculo.getFoto()));
// efetura a leitura
try {
BufferedInputStream in = new BufferedInputStream(new FileInputStream(file));
byte[] bytes = new byte[in.available()];
in.read(bytes);
in.close();
//isto abaixo é um teste
dsc = new DefaultStreamedContent(new ByteArrayInputStream(bytes));
//dsc = new DefaultStreamedContent(new ByteArrayInputStream(bytes));
} catch (Exception e) {
FacesContext context = FacesContext.getCurrentInstance();
System.out.println(e);
/*
* context.addMessage(null, new
* FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro! " + e
* +", "));
*/
}
}
Abaixo o código em xhtml onde a chamada é feita:
<p:graphicImage id="imagem" cache = "false" value="#{bean.dsc}" stream="false" style="height: 151.18px; width: 113.38px; margin-left: 11px" />