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.
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