JPEGCodec проблем
1 отговора
87 прегледа
JPEGCodec проблем
Искам да създам динамичен JPEG като response на Servlet. Намир едно решение при което се изпозва JPEGImageEncoder създаден по следния начин
BufferedImage image = createImage(msg);
response.setContentType("image/jpeg");
out = response.getOutputStream();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam jpegParams =
encoder.getDefaultJPEGEncodeParam(image);
jpegParams.setQuality(1, false);
encoder.setJPEGEncodeParam(jpegParams);
encoder.encode(image);
out.close();
Само че май
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
създава еднакъв обект независимо от out обекта, и когато подам няколко пралелни рекуеста към Servlet-а ми дава
java.io.IOException: reading encoded JPEG Stream
ексепшън
Какво да правя?
BufferedImage image = createImage(msg);
response.setContentType("image/jpeg");
out = response.getOutputStream();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam jpegParams =
encoder.getDefaultJPEGEncodeParam(image);
jpegParams.setQuality(1, false);
encoder.setJPEGEncodeParam(jpegParams);
encoder.encode(image);
out.close();
Само че май
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
създава еднакъв обект независимо от out обекта, и когато подам няколко пралелни рекуеста към Servlet-а ми дава
java.io.IOException: reading encoded JPEG Stream
ексепшън
Какво да правя?
Re: JPEGCodec проблем
Ако ползваш JDK 1.4 виж този клас:
javax.imageio.ImageIO
ImageIO.write() прави точно каквото искаш.
Трудно може да се каже къде ти е проблема. Трябва най-малко да пост-неш пълния stack trace на exception-a.
Няма нужда да затваряш out stream-a
javax.imageio.ImageIO
ImageIO.write() прави точно каквото искаш.
Трудно може да се каже къде ти е проблема. Трябва най-малко да пост-неш пълния stack trace на exception-a.
Няма нужда да затваряш out stream-a