Pb : servlet renvoyant une image

cs_oliphil Messages postés 3 Date d'inscription mercredi 26 mars 2003 Statut Membre Dernière intervention 22 mai 2005 - 13 mai 2004 à 10:09
cs_oliphil Messages postés 3 Date d'inscription mercredi 26 mars 2003 Statut Membre Dernière intervention 22 mai 2005 - 22 mai 2005 à 18:50
Voila mon problème
Je veux créer une servlet qui me renvoie une image.
Je recupère cette image dans un objet java.awt.image

protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

//Je recupère mon objet image
Image Img = g.getImgNum(CptImf.getCompteur());

response.setContentType("image/png");
ServletOutputStream os = response.getOutputStream();
/*
* c'est ici que j'ai un problème
* je ne sais pas passer l'image dans le ServletOutputStream
*/
os.flush();
os.close();
}

Merci de m'éclairer :big)

2 réponses

asetti Messages postés 61 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 15 mai 2010
19 mai 2005 à 14:06
bonjour,

je suis en projet et j'ai le même problème que toi.

Si tu y est arriver, pourrais tu me dire comment passer une image à outputStream

Merci

Winnie
0
cs_oliphil Messages postés 3 Date d'inscription mercredi 26 mars 2003 Statut Membre Dernière intervention 22 mai 2005
22 mai 2005 à 18:50
Oui j'ai trouvé la solution, la voici :


response.setContentType("image/jpeg");
ServletOutputStream out = response.getOutputStream();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
BufferedImage bImg = new BufferedImage(Imag.getWidth(null),Imag.getHeight(null),BufferedImage.TYPE_INT_RGB);
Graphics g = bImg.createGraphics();
g.drawImage(Imag, 0, 0, frame);
encoder.encode(bImg);
out.close();

A mettre dans la méthode doGet() de ta servlet...
Mais ca fonctionne avec des images JPEG.
Ne pas oublier d'ajouter les imports appropriés

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

Bon courage
0
Rejoignez-nous