Escrever image

Oi,
Amigos, estou tentando ler uma imagem de um diretório qualquer e envia-la para o browser.
Para ler estou usando

ImageInputStream image = ImageIO.createImageInputStream(path);

Como escrevo na saída agora ? tentei

		int len = (int) image.length();
		byte[] data = new byte[len];
		image.readFully(data, 0, len);
		response.setContentType("image/jpeg");		
		out.print(data);

mas não deu certo :cry:

cara eu tinha postado um ex disso uma vez, mas não lembro de cór agora como é o código… :roll:

Salve,
Após varias xícaras de café, segue a solução:

protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		
		OutputStream out = response.getOutputStream();

		FileInputStream image = new FileInputStream(new File("caminho_até sua_imagem.jpg"));
		JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(image);
		BufferedImage buf = decoder.decodeAsBufferedImage();
		JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
		encoder.encode(buf);		
		out.close();
	}

[color=“red”]* não precisa usar o método setContentType(“image/jpeg”)[/color]
Referências
http://www.portaljava.com/home/modules.php?name=Forums&file=viewtopic&p=18203
http://www.javalobby.org/forums/thread.jspa?threadID=17096&tstart=0[/b]