使用java将图像转换为base64
我需要将图像对象转换为base64对象,以便将其加载到客户端的标记中 然而,我似乎不知道如何实现这一目标。有没有人有我可以轻松使用的代码 这就是我用来将外部图像链接转换为图像对象的方法使用java将图像转换为base64,java,image,jsp,servlets,base64,Java,Image,Jsp,Servlets,Base64,我需要将图像对象转换为base64对象,以便将其加载到客户端的标记中 然而,我似乎不知道如何实现这一目标。有没有人有我可以轻松使用的代码 这就是我用来将外部图像链接转换为图像对象的方法 Image image = null; URL url = new URL(request.getParameter("hdn_path")); image = ImageIO.read(url); 我不确定我的方法是否正确。 使用ImageIO.write()进行写入 ByteArrayOutputStrea
Image image = null;
URL url = new URL(request.getParameter("hdn_path"));
image = ImageIO.read(url);
我不确定我的方法是否正确。- 使用ImageIO.write()进行写入
- ByteArrayOutputStream包装字节数组,以便将其用作输出流
- 使用DatatypeConverter将字节数组转换为base64字符串,在CoreJava 6中,不需要额外的库
ByteArrayOutputStream output = new ByteArrayOutputStream();
ImageIO.write(image, "png", output);
DatatypeConverter.printBase64Binary(output.toByteArray());
使用Apache和:
从URL读取文件,如果任何人通过从文件系统读取图像来寻找图像到Base64编码,则可以使用下面的代码段
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Base64;
import org.apache.commons.io.IOUtils;
public String img2Text(){
String base64="";
try{
InputStream iSteamReader = new FileInputStream("featured-700x467.png");
byte[] imageBytes = IOUtils.toByteArray(iSteamReader);
base64 = Base64.getEncoder().encodeToString(imageBytes);
System.out.println(base64);
}catch(Exception e){
e.printStackTrace();
}
return "data:image/png;base64,"+base64;
}
返回的base64文本可以在HTML页面中使用,如下面的示例所示
这是否回答了您的问题@那个问题有一个完全不同的问题。
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Base64;
import org.apache.commons.io.IOUtils;
public String img2Text(){
String base64="";
try{
InputStream iSteamReader = new FileInputStream("featured-700x467.png");
byte[] imageBytes = IOUtils.toByteArray(iSteamReader);
base64 = Base64.getEncoder().encodeToString(imageBytes);
System.out.println(base64);
}catch(Exception e){
e.printStackTrace();
}
return "data:image/png;base64,"+base64;
}