Mostrar Imagem do servidor Local no JSP

Bom Dia Pessoal do GUJ,

estou com um problema na hora de mostrar a imagem do usuário para um comentário na página…

Explicando melhor seria, tenho minha aplicação java e quando faço upload da foto do usuário salvo no “hd”, ou seja, fora dos diretórios da aplicação Java, logo após registro o caminho total do arquivo no banco.

Quando estou na página que mostra um determinado comentário por um usuário ele simplesmente não mostra a foto do mesmo, lembrando que na tag :>>>

Um detalhe que vi é o seguinte, quando pego o caminho da imagem e jogo no browser a imagem aparece, mas tenho que escrever desta maneira no browser:>> file://“caminho_da_imagem”.

Uso Glassfish, Hibernate, JSP.

Já procurei aqui no portal GUJ, porém vi problemas um pouco parecido, não igual a esse…

Agradeço desde já a atenção de todos.

ramos.julio,

Se esta imagem estiver fora de seus diretórios públicos web,você não conseguirá exibir a imagem.
Lembre-se que quando você define o local da imagem , por exemplo , o DIRETORIO é um apontamento para o site.

Sendo que o caminho físico seria algo como:
/home/www.seusite.com.br/public_html/DIRETORIO

Portanto, existe uma diferença entre um caminho WEB e o caminho FÍSICO.

Pelo que entendi, você está usando o caminho físico e gravando no banco. Por isso que quando você coloca funciona. Mas isso só vai funcionar na máquina local.

biancuzzi,

o que eu fiz foi o seguinte eu abri o browser de outra máquina da rede e digitei file://“caminho_fisico_da_imagem” dai apareceu a imagem…

existe alguma outra maneira de acessar esta imagem?

desde já agradeço.

Então ramos,

A imagem aparece pois está na máquina local.
Se você estiver na web, não vai abrir.

Imagine aquele caminho fisico que coloquei no outro post:
/home/www.seusite.com.br/public_html

Agora vamos supor que você tem a seguinte estrutura de diretórios:
/home/www.seusite.com.br/public_html/index.html
/home/www.seusite.com.br/public_html/img/imagem1.jpg
/home/www.seusite.com.br/public_html/img/imagem2.jpg

Esta é uma estrutura meio que padrão de hospedagem.
Nessa estrutura, seus arquivos (imagens, html e etc) estão acessíveis desde que estejam dentro de public_html.
Aí para você setar o caminho do arquivo você pode usar o caminho raiz.

Veja que o public_html torna-se o diretório raiz do meu site. (isso é definido na configuração do tomcat ou apache)

[quote=biancuzzi]ramos.julio,

Se esta imagem estiver fora de seus diretórios públicos web,você não conseguirá exibir a imagem.
Lembre-se que quando você define o local da imagem , por exemplo , o DIRETORIO é um apontamento para o site.

Sendo que o caminho físico seria algo como:
/home/www.seusite.com.br/public_html/DIRETORIO

Portanto, existe uma diferença entre um caminho WEB e o caminho FÍSICO.

Pelo que entendi, você está usando o caminho físico e gravando no banco. Por isso que quando você coloca funciona. Mas isso só vai funcionar na máquina local.
[/quote]

Para os que estão tendo este problema também, vale a pena ressaltar e dizer que faça o que o biancuzzi disse acima, é mais fácil.

A ideia que tive de salvar os arquivos fora da aplicação, também é valida, dei uma pesquisada e vi que para mostrar na página estas imagens fora da pasta da aplicação, teria que fazer o processo inverso do upload, que seria o download para mostrar no browser.

No caso de minha aplicação e devido ao tempo, optei por salvar na pasta da aplicação mesmo, que veio a funcionar…

Obrigado Biancuzzi.