Preciso mostrar uma imagem que está fora do contexto do projeto, ou seja, está armazenado em local físico fora do projeto. Acontece que a imagem não está sendo visualizada, mesmo passando o diretório completo. Alguém sabe como fazer isso utilizando o lightbox do primefaces ou algum outro componente? Agradeço a ajuda.
File file = new File("O caminho da imagem em seu computador");
InputStream inputStream = new FileInputStream(file);
StreamedContent content = new DefaultStreamedContent(inputStream, "o tipo mime da imagem", "o nome da imagem");
// Ex:
// StreamedContent content = new DefaultStreamedContent(inputStream, "image/jpeg", "foto-1234.jpg");
Acontece que através da visão eu passo por parâmetro o caminho da imagem, o método verifica esse caminho e retorna um StreamedContent, mas como vou retornar isso de novo para a visão?
Testei dessa forma já, passei o StreamedContent através do método, mas sem resultados…acredito que é alguma coisa de diretório que a página não reconhece. porque pelo navegador acesso a imagem normalmente através do diretorio comum e um “file:///” antes. Tentei concatenar esse file:/// junto com o diretório, mesmo assim…
Acredito que será complicado encontrar uma forma de resolver isso com os arquivos estando fora do contexto do projeto.
L
lsjunior
Me passa o texto do #{documento.nomeCompletoArquivo}.
Só que dessa forma ele visualiza em outra página, isso já me serve, porém queria fazer de uma forma mais elegante, abrindo a imagem na mesma tela através de um p:dialog