[ https://issues.apache.org/jira/browse/IMAGING-97?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13496985#comment-13496985 ]
Adrian Moerchen commented on IMAGING-97: ---------------------------------------- Found a workaround (at least for us) for this: {code}; /** * Converts the byte array to an image. * * @param data * Image as binary data. * @return Returns a BufferedImage object or null. */ public static BufferedImage byteToImage(byte[] data) { try { return Imaging.getBufferedImage(data); } catch (IOException e) { LOGGER.warn("Error reading image: {}", e.getMessage()); } catch (ImageReadException e) { LOGGER.warn("Error reading image: {}", e.getMessage()); try { return ImageIO.read(new ByteArrayInputStream(data)); } catch (IOException e1) { LOGGER.warn("Error reading image: {} ", e1.getMessage()); } } return null; } {code} > Fails to read most Sony A100 JPG files generated from Photoshop CS2 > -------------------------------------------------------------------- > > Key: IMAGING-97 > URL: https://issues.apache.org/jira/browse/IMAGING-97 > Project: Commons Imaging > Issue Type: Bug > Components: Format: JPEG > Affects Versions: 1.0 > Environment: Windows 7, JDK1.7, Imaging snapshot build from 20121013 > Reporter: William Saar > Attachments: _DSC6099.jpg > > > This line fails with the exception at the bottom for most of my old JPG files > shot with a Sony A100, and sometimes processed by Photoshop CS2. I will > attach a failing file. > BufferedImage img = Imaging.getBufferedImage(compressedThumbnailData, > jpgDecodeParams); > where jpgDecodeParams are > ImagingConstants.BUFFERED_IMAGE_FACTORY, new RgbBufferedImageFactory() > ImagingConstants.PARAM_KEY_FORMAT, ImageFormat.IMAGE_FORMAT_JPEG > Exception: > org.apache.commons.imaging.ImageReadException: Invalid marker found in > entropy data > at > org.apache.commons.imaging.formats.jpeg.decoder.JpegInputStream.nextBit(JpegInputStream.java:50) > at > org.apache.commons.imaging.formats.jpeg.decoder.JpegDecoder.decode(JpegDecoder.java:417) > at > org.apache.commons.imaging.formats.jpeg.decoder.JpegDecoder.readMCU(JpegDecoder.java:311) > at > org.apache.commons.imaging.formats.jpeg.decoder.JpegDecoder.visitSOS(JpegDecoder.java:122) > at > org.apache.commons.imaging.formats.jpeg.JpegUtils.traverseJFIF(JpegUtils.java:83) > at > org.apache.commons.imaging.formats.jpeg.decoder.JpegDecoder.decode(JpegDecoder.java:428) > at > org.apache.commons.imaging.formats.jpeg.JpegImageParser.getBufferedImage(JpegImageParser.java:95) > at > org.apache.commons.imaging.Imaging.getBufferedImage(Imaging.java:1375) > at > org.apache.commons.imaging.Imaging.getBufferedImage(Imaging.java:1315) > at -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira