Imagens visualziar pagina jsp

4 respostas
A

Olá pessoal ,

Estou fazendo um projeto em JSP , primeiro tenho uma pagina chamada fotos.jsp com o seguinte codigo html:
<body>
<form method="post" action="recebefotos.jsp" enctype="multipart/form-data">
arquivo<input type="file" name="arquivo"><br>
<input type="submit" value="envia">
</form>

</body>
O usuario seleciona a foto localmente e envia para a segunda pagina chamada recebefotos.jsp e aparece a mensagem arquivo enviado corretamente para a pasta local do usuario. Mas na realidade preciso que essa foto fiQUE salva na propria pagina recebefotos.jsp Obs::já está com os import no topo da pagina: page import="org.apache.commons.fileupload.*, java.util.List, java.io.File, java.util.Iterator) segue codigo abaixo :
boolean isMultipart = FileUpload.isMultipartContent(request);

DiskFileUpload upload = new DiskFileUpload();
upload.setSizeMax(1024*1024); 
List items = upload.parseRequest(request);

Iterator itr = items.iterator();

while(itr.hasNext()) {
	FileItem item = (FileItem) itr.next();

     if(!item.isFormField()) {

		File fullFile  = new File(item.getName());
		String nome = fullFile.getName();
		String extensao=nome.substring(nome.length()-3,nome.length());
		out.println("Nome do Arquivo:"+extensao+"<br>");
		out.println("Extensao do Arquivo:"+extensao+"<br>");
		if (extensao.equalsIgnoreCase("JPG") || extensao.equalsIgnoreCase("GIF")){
		  File savedFile = new File(getServletContext().getRealPath("/imagens/"),fullFile.getName());
   		  item.write(savedFile);
                  out.println("Arquivo enviado corretamente");
		
		}
		else {
           out.println("Não enviando. Use apenas JPG");
		} 	

	}
}

Realmente nao encontrei nada no google e tbm em algumas literaturas, por isso estou tentando a ajuda de vcs , obrigada e aguardo retorno.

4 Respostas

WalterIM

Crie uma tag apontando para um servlet que retornará a imagem salva, depois do upload.

A

Olá Walter,

Obrigada pela dica , mas eu posso usar nesse mesmo codigo da recebefotos.jsp ? estou com dificuldades de implementar isso…vc pode ser mais detalhado assim eu entendo melhor.
Abraços,

WalterIM

Vamos lá:
quando o jsp é renderizado ele vira um html que é enviado para o browser. Como o html só tem texto, o browser recebe esse html, vê que tem uma tag e requisita ao servidor que mande essa imagem, através de outra requisição http. Ou seja, para que essa imagem seja mostrada você pode colocar a apontando direto para um nome que o servidor reconheça como arquivo de imagem ou para um servlet que retorne a imagem desejada, tipo: .
No seu caso eu sugiro que vc crie um servlet que, quando executado, verifique se o arquivo existe no disco, se existe, retorna-o, se não, retorna uma imagem padrão simbolizando que ainda não ocorreu o upload.

A
Muito obrigada Walter pela informção,

 Irei implementar aqui ....depois te aviso como ficou...abraços.

 Adriana
Criado 13 de julho de 2006
Ultima resposta 14 de jul. de 2006
Respostas 4
Participantes 2