我需要将一个图像对象转换为base64对象,以便将其加载到客户端的标记中。然而,我似乎不知道如何拉这一关。有没有人谁有一个代码,这我可以很容易地使用?这就是我用来将外部图像链接转换为图像对象的代码
Image image = null; URL url = new URL(request.getParameter("hdn_path")); image = ImageIO.read(url);
我不确定我这样做是否正确。
r3i60tvu1#
使用Apache IOUtils和Base64:
IOUtils
Base64
byte[] imageBytes = IOUtils.toByteArray(new URL("..."))); String base64 = Base64.getEncoder().encodeToString(imageBytes);
bqf10yzr2#
范例
ByteArrayOutputStream output = new ByteArrayOutputStream(); ImageIO.write(image, "png", output); DatatypeConverter.printBase64Binary(output.toByteArray());
zysjyyx43#
Accepted answer从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页面中使用,如下所示
<!DOCTYPE html> <html> <body> <img src="data:image/png;base64,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 " alt="Smiley face" width="42" height="42"> </body> </html>
3条答案
按热度按时间r3i60tvu1#
使用Apache
IOUtils
和Base64
:bqf10yzr2#
范例
zysjyyx43#
Accepted answer从URL读取文件,如果任何一个通过从文件系统阅读图像来查找Base64编码的图像,可以使用下面的片段。
返回的base64文本可以在HTML页面中使用,如下所示