Inputstream de BufferedImage Conversion des dommages-intérêts le fichier

Je suis le téléchargement de quelques fichiers d'image à l'aide de servelt. Je veux redimensionner les images. J'ai convertit la source de BufferedImage ci-dessous à l'aide de lignes.

InputStream imageStream = item.getInputStream();

BufferedImage imageBuffer = ImageIO.read(imageStream);

Puis-je redimensionner l'image et écris-le dans un emplacement. Mais, tous les fichiers de sortie taille est 0.

J'utilise le code suivant pour redimensionner l'image.

AffineTransform at = new AffineTransform();
if(sx != 0)
    at.scale( sx , sx );
AffineTransformOp ato = new AffineTransformOp(at, AffineTransformOp.TYPE_BILINEAR);
uploadImage = ato.filter(uploadImage, null); //uploadImage == BufferedImage

Est-il un bon moyen pour convertir inputstream de bufferedImage sans nuire à l'image?
Je suis sûr que l'image est prise en téléchargement. Mais, après la conversion de BufferedImage, le fichier endommagé.

Je suis le téléchargement par l'envoi d'un formulaire de doPost() la méthode. La ligne ci-dessous me donne l'InputStream à partir d'un élément de liste.

InputStream imageStream = item.getInputStream();

Et, je l'écris par

ImageIO.write(image, "jpg", new File(path + ".jpg"));

Mise à jour

java.awt.image.ImagingOpException: Unable to transform src image
at java.awt.image.AffineTransformOp.filter(Unknown Source)
at com.pricar.servlet.imageupload.ImageUploadServlet.reSize(ImageUploadServlet.java:100)
at com.pricar.servlet.imageupload.ImageUploadServlet.doPost(ImageUploadServlet.java:74)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:943)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

Tout suggesstions ou lien woulb en être reconnaissants!!!

Merci!

  • S'il vous plaît ajouter votre écriture (sortie) code
  • Comment êtes-vous télécharger? Et l'écriture? Pourrait être le problème au niveau de ces points? Pourriez-vous montrer plus de code?
  • Peters: Maintenant mis à jour ma question
  • Maintenant mis à jour la question. Check it out!
InformationsquelleAutor | 2010-11-15