Quantcast
Channel: Programação - GUJ
Viewing all articles
Browse latest Browse all 33093

graphicImage com Primefaces como atualizar foto?

$
0
0

@Leo_Friend escreveu:

Boa noite pessoal :smiley:

Estou com um problema com um site que estou desenvolvendo em java ee,
acontece que toda vez que tento atualizar a foto preciso deslogar da sessão
e logar de novo com o usuario para que a foto atualize na tela, ja tentei de diversas
formas e ainda não consegui fazer a foto atualizar automaticamente , posto abaixo o código
que estou utilizando

<h:panelGroup id="apercuForm" layout="block">
<p:graphicImage value="#{accountBean.image}" cache="false" width="100" height="100" id="foto" />
</h:panelGroup>

o código acima mostra a imagem na tela

<f:facet name="inline">
      <p:fileUpload fileUploadListener="#{accountBean.upload}"
       label="Procurar"
       invalidFileMessage="Somente arquivos .jpg, .png ou .gif"
       allowTypes="/(\.|\/)(gif|jpe?g|png)$/"
       value="#{accountBean.file}" mode="advanced" skinSimple="true"
       update="panelFoto" />
</f:facet>

Esse código acima é o botão para pegar a imagem do pc e mandar pro servidor
Após pegar a foto, eu salvo ela em uma pasta no servidor depois disso tento atualizar com o seguinte código

public StreamedContent converterToImage(String caminho) {
		DefaultStreamedContent streamedContent = null;
		
		try { 
			
			// Pegando os bytes da imagem
			BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream("C:/Users/Leonardo/workspace/web/lnd2/src/main/webapp"+caminho));
			
			//Passando os bytes para um vetor de bytes
			byte[] bytes = new byte[inputStream.available()];
			
			//Lendo os bytes que estão no vetor
			inputStream.read(bytes);
			inputStream.close(); // fecho o bufferedInputStream
			
			//criando o streamedContent (criando a imagem)
			streamedContent = new DefaultStreamedContent(new ByteArrayInputStream(bytes), "image/jpg");
			return streamedContent;

		} catch (IOException e) {			
			e.printStackTrace();
			return null;
		}
	}

ele retorna a imagem para a variavel image

<h:panelGroup id="apercuForm" layout="block">
       <p:graphicImage value="#{accountBean.image}" cache="false" width="100" height="100" id="foto" />
</h:panelGroup>

porém mesmo fazendo tudo isso a imagem ainda não atualiza sem que eu deslogue e logue o usuario de novo

alguem ja trabalhou com essa ferramenta antes e sabe como fazer isso?

Mensagens: 1

Participantes: 1

Ler tópico completo


Viewing all articles
Browse latest Browse all 33093


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>