Je télécharge des fichiers d'image à l'aide de servelt. Je veux redimensionner les images. Je convertis la source en BufferedImage en utilisant les lignes ci-dessous.Inputstream to BufferedImage La conversion endommage le fichier
InputStream imageStream = item.getInputStream();
BufferedImage imageBuffer = ImageIO.read(imageStream);
Puis redimensionner l'image et écrire dans un endroit. Mais, toute la taille des fichiers de sortie 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 de convertir inputstream à BufferedImage sans endommager l'image? Je suis sûr que l'image est téléchargée. Mais, après la conversion en BufferedImage, le fichier est endommagé.
Je télécharge en envoyant un formulaire à la méthode doPost(). La ligne ci-dessous me donne l'InputStream d'un élément de liste.
InputStream imageStream = item.getInputStream();
Et, je vous é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 être reconnaissants !!!
Merci!
S'il vous plaît ajouter votre écriture (sortie) code –
Comment téléchargez-vous? Et écrit? Le problème pourrait-il être à ces points?Pourriez-vous montrer plus de code? –
@Mark Peters: Maintenant mis à jour ma question –