【问题标题】:How can I convert an image to a base64 string using Java?如何使用 Java 将图像转换为 base64 字符串?
【发布时间】:2011-02-16 09:58:07
【问题描述】:

正如标题所示,我想知道如何在 Java 中将图像转换为 base64 字符串。我该怎么做?

【问题讨论】:

    标签: java string base64


    【解决方案1】:

    将图像转换为字符串的java代码

    package com.test;
    
    import java.io.IOException;
    
    import sun.misc.BASE64Encoder;
    import sun.misc.BASE64Decoder;
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.awt.image.BufferedImage;
    import javax.imageio.ImageIO;
    
    public class Test{
    public static void main (String args[]) throws IOException {
     BufferedImage img = ImageIO.read(new File("C:/Test/logo.png"));
            BufferedImage newImg;
            String imgstr;
     imgstr = encodeToString(img, "png");
            System.out.println(imgstr);
    }
    public static String encodeToString(BufferedImage image, String type) {
            String imageString = null;
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
    
            try {
                ImageIO.write(image, type, bos);
                byte[] imageBytes = bos.toByteArray();
    
                BASE64Encoder encoder = new BASE64Encoder();
                imageString = encoder.encode(imageBytes);
    
                bos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return imageString;
        }
    }
    

    并且可以将其嵌入到 XSL 中,如下所示

    <img src="data:image/png;base64,iVBORw0......."/>
    

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 我认为你应该添加一个简单的例子。
      【解决方案3】:

      用于编码和解码的Apache Commons Base64

      【讨论】:

      • 通常值得添加一个简单的示例或链接中的一小段摘录,以提供更多上下文并增加答案的价值。
      猜你喜欢
      • 2011-06-17
      • 1970-01-01
      • 2011-09-03
      • 2013-07-04
      • 2016-08-30
      • 2018-09-07
      相关资源
      最近更新 更多