String s = “data:image/gif;base64,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”;
// 或者使用
String[] split = s.split(“,”);
byte[] encode2 = Base64Utils.
decode
(split[1].getBytes());
FileUtil.
writeBytes
(encode2, “D:\\cycloud\\uploadPath\\ValidCodeImg.png”);
InputStream inStream = new FileInputStream(“D:\\cycloud\\uploadPath\\ValidCodeImg.gif”);
ImageReaderSpi readerSpi = new GIFImageReaderSpi();
GIFImageReader gifReader = (GIFImageReader) readerSpi.createReaderInstance();
//这个地方需要把InputStream转一下ImageInputStream
gifReader.setInput(ImageIO.
createImageInputStream
(inStream));
//获取总帧数
int num = gifReader.getNumImages(true);
log
.info(“gif帧数:” + num);
File newfile = new File(“D:\\cycloud\\uploadPath\\ValidCodeImg.png”);
ImageWriterSpi writerSpi = new GIFImageWriterSpi();
GIFImageWriter writer = (GIFImageWriter) writerSpi.createWriterInstance();
ImageOutputStream out = new FileImageOutputStream(newfile);
writer.setOutput(out);
// 读取最后一帧的图片 也就是gif显示完全的那一帧
BufferedImage read = gifReader.read(num-4);
writer.write(read);