我在Java Servlet中收到了图像DataURL,它看起来像这样:
我需要将它保存为图像文件,该怎么做?
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAA...
我需要将它保存为图像文件,该怎么做?
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAA...
最简单的方法1如下:
String str = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAA...";
byte[] imagedata = DatatypeConverter.parseBase64Binary(str.substring(str.indexOf(",") + 1));
BufferedImage bufferedImage = ImageIO.read(new ByteArrayInputStream(imagedata));
ImageIO.write(bufferedImage, "png", new File("img.png"));
提示
javax.xml.bind.DatatypeConverter
,需要使用Java 6或更高版本。str.substring(str.indexOf(",") + 1)
吗?如果图片的 MIME 类型是 image/jpeg
,你可能不想将它写成 PNG 格式。 - VGR+1
。谢谢!;)
② 嗯...我不知道。也许我想要写入PNG格式...但是OP...我不知道。:P - Paul Vargasbyte[] imagedata = java.util.Base64.getDecoder().decode(str.substring(str.indexOf(",") + 1));
代替DatatypeConverter。 - Lunchbox