Duvida com UPLOAD de Imagens

estou fazendo uns testes para fazer um cadastro e inserir a foto do paciente exemplo… porem minha duvida está quanto a upload de imagens.
porem quero gravar apenas o endereço de onde está a imagem e depois carrega-la em uma jsp… fiz da seguinte maneira mas não consigo carrega-la…

no cadastro

<label> <span>Selecionar Foto</span> <input type="file" name="foto" /> </label>

no banco gravo apenas o caminho…
segue o servlet

paciente.setFoto(request.getParameter("foto"));

apos gravar no banco volto para listagem.jsp

<td><img src="<% p.getFoto(); %>" />        </td>

sem sucesso tentei assim tbm

<td><img src="<%= p.getFoto() %>" />        </td>

caso alguem poder dar uma ajuda, e se essa é a melhor maneira de se fazer isso, se existe outra, desde ja agradecido

Seguinte brother…

Pelo que eu vi você disse que está tentando pegar o endereço da imagem certo?

Não o stream da imagem para depois converter.?.

Caso seja… somente a URL realmente o input type pode ser type=“text”,

pois você esta pegando aoenas a url da imagem, uma imagem da web…

não vai funcionar assim… pois um input file recebe um arquivo e é necessario

trata-lo com um multpart pra criar um stream da imagem armazena-la em algum lugar

e depois recupera-la novamente…[

Apenas para imagens hospedadas na web funcionarioa bem…

execute o seguinte teste:

Na tag que chamou o scriptlet que carrega o endereço da foto… coloque o endereço manualmente e depois

execute… a fota irá aparecer… após isso crie o input type text que recebe esse endereço que vc colou

e informe no campo que é necessario que a imagem esteja hospedada na web.

Um formato legal de vc fazer isso é usar o serviço de BlobStore da google…

Gratis… Caso uma pessoa não tenha a foto ela podera fazer o up de uma…

Abraços…

entendi, mas exemplo a minha aplicação é em tres camadas, exemplo vou cadastrar um paciente ou pessoa que seja…
ai iria procurar uma foto no pc, e armazenar somente o caminho ou nome da imagem, pra depois quando fosse chamada a listagem.jsp
apareceria a imagem do paciente com seus dados…

esta forma que eu estou fazendo e com as dicas que me deu seria o modo correto de desenvolver neste caso?

Obrigado amigo.
bumpp

bump! alguem?

Quando vc diz “porem quero gravar apenas o endereço de onde está a imagem…” vc está armazenando ela em algum diretorio do teu servidor
correto?
Dessa forma tente recuperar colocando antes do seu p.getFoto() o contextPath da tua aplicação

[quote=jweibe]Quando vc diz “porem quero gravar apenas o endereço de onde está a imagem…” vc está armazenando ela em algum diretorio do teu servidor
correto?
Dessa forma tente recuperar colocando antes do seu p.getFoto() o contextPath da tua aplicação[/quote]

na verdade eu seleciono a imagem qualquer da maquina e no banco de dados armazeno apenas o endereço, e depois faço ah chamada do p.getFoto();
aqui ele aparece uma pequena imagem como senao encontra-se esta imagem… creio que esta nao seja a melhor forma de se fazer isto neh?

e obrigado por responder.

na verdade o que ta acontecendo que o path da imagem que ta indo nao esta correto.
Posta o ai o código que e gerado no navegador.!

Listagem
olhando no banco, ele aparece apenas o nome da foto, e nao todoo o caminho pode ser isto? apesar que coloquei todo o caminho agora no banco e nada tbem :frowning:

<% List <Pacientes> paciente; paciente = dao.listar(); if (paciente != null){ Iterator i = paciente.iterator(); Pacientes p ; System.out.println("<1>"); %> <table> <tr> <td>Prontuário</td> <td>CNS</td> <td>Nome</td> <td colspan="2"></td> </tr> <% while (i.hasNext()){ p = (Pacientes)i.next(); %> <tr> <td><% out.println(p.getProntuario());%> </td> <td><% out.println(p.getCns()); %> </td> <td><% out.println(p.getNome());%> </td> <td><img src="<% p.getFoto(); %>" /> </td> <td> <a href ="paciente?op=r&cod=<% out.println(p.getId());%>"> <img alt="" src="Imagens/alterar.png" class="img_alterar"></a> </td> <td> <a href ="paciente?op=d&cod=<% out.println(p.getId());%>"> <img alt="" src="Imagens/excluir.png" class='img_excluir'></a> </td> </tr> <% } }else { out.println("Nenhum paciente encontrado"); } %> </table>

É proibido dar “up” nos tópicos e os mesmos que tenham no título termos como “socorro… help… ajuda… por favor… pelo amor de Deus…” serão DELETADOS!

Leia as regras do fórum e use a busca!

[]s

[quote=Luiz Aguiar]É proibido dar “up” nos tópicos e os mesmos que tenham no título termos como “socorro… help… ajuda… por favor… pelo amor de Deus…” serão DELETADOS!

Leia as regras do fórum e use a busca!

[]s[/quote]

se eu vim até aqui foi pq em busca nao achei, agora se tiver algo ai e quiser ajudar! será bem vindo!