【发布时间】:2013-06-10 08:24:37
【问题描述】:
我有一个 tiff 图像作为 Base64 编码字符串存储在一个文件中。我的目标是从中创建一个 tiff 文件。这就是我正在做的事情:
String base64encodedTiff = IOUtils.toString(new FileInputStream("C:/tiff-attachment.txt"));
byte[] imgBytes = DatatypeConverter.parseBase64Binary(base64encodedTiff);
BufferedImage bufImg = ImageIO.read(new ByteArrayInputStream(imgBytes));
ImageIO.write(bufImg, "tiff", new File("c:/new-darksouls-imageIO-tiff.tiff"));
ImageIO.write() 正在抛出 IllegalArgumentException,因为 bufImg 为空。我不明白我在这里做错了什么。
相反如果我用IOUtils来写,效果很好:
IOUtils.write(imgBytes, new FileOutputStream("c:/new-darksouls-io-tiff.tiff"));
请帮我理解
- 为什么 ImageIO 会抛出异常
- 什么是我想要实现的正确 API 和方法。
【问题讨论】:
标签: java image file-io base64 tiff