Inputstream in BufferedImage-Konvertierung Schäden die Datei

Ich bin das hochladen von Bild-Dateien mithilfe von servelt. Ich will die Größe der Bilder. Ich konvertiert die Quelle in BufferedImage mit folgenden Zeilen.

InputStream imageStream = item.getInputStream();

BufferedImage imageBuffer = ImageIO.read(imageStream);

Dann habe ich das Bild verkleinern und schreiben in einem Speicherort. Aber, alle output-Dateien Größe ist 0.

Ich bin mit dem folgenden code, um die Größe des Bildes.

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

Ist es eine gute Weg, um zu konvertieren inputstream in bufferedImage, ohne die Bild?
Ich bin sicher, dass das Bild immer hochgeladen. Aber, nach der Umstellung auf BufferedImage, wird die Datei beschädigt.

Ich bin hochladen, indem Sie ein Formular Einreichen, doPost () - Methode. Die folgende Zeile gibt mir den InputStream aus einer Liste Element.

InputStream imageStream = item.getInputStream();

- Und, ich Schreibe es durch

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

Update

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)

Jede suggesstions oder link woulb dankbar sein!!!

Dank!

Bitte fügen Sie Ihrem schreiben (Ausgabe) code
Wie sind Sie mit dem hochladen? Und schreiben? Könnte das problem sein, an diese Punkte? Sie konnten zeigen, mehr code?
Peters: Jetzt meine Frage aktualisiert
Jetzt aktualisiert die Frage. Check it out!

InformationsquelleAutor | 2010-11-15

Schreibe einen Kommentar