我是新來使用JAI和我寫了這個簡單的代碼,上傳圖片。此代碼工作正常jpeg
秒,但會導致錯誤png
S和gif
秒。JAI錯誤上傳PNG和GIF文件時
下面是代碼:
ByteArraySeekableStream byteArraySeekableStream = new ByteArraySeekableStream(content.getData());
ParameterBlock pb = new ParameterBlock();
pb.add(byteArraySeekableStream);
BufferedImage originalImage = JAI.create("jpeg", pb).getAsBufferedImage();
這是錯誤:
Error: Cannot decode the image for the type :
Occurs in: com.sun.media.jai.opimage.CodecRIFUtil
java.io.IOException
at com.sun.media.jai.codecimpl.CodecUtils.toIOException(CodecUtils.java:76)
at com.sun.media.jai.codecimpl.JPEGImageDecoder.decodeAsRenderedImage(JPEGImageDecoder.java:48)
at com.sun.media.jai.opimage.CodecRIFUtil.create(CodecRIFUtil.java:88)
at com.sun.media.jai.opimage.JPEGRIF.create(JPEGRIF.java:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
at javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
at javax.media.jai.RenderedOp.getColorModel(RenderedOp.java:2242)
at javax.media.jai.PlanarImage.getAsBufferedImage(PlanarImage.java:2498)
at javax.media.jai.PlanarImage.getAsBufferedImage(PlanarImage.java:2546)
能
任何人的意見?
嘗試將'BufferedImage originalImage = JAI.create(「jpeg」,pb).getAsBufferedImage();'改爲'BufferedImage originalImage = JAI.create(「png」,pb).getAsBufferedImage();'和'gif'分別。 – neo108