gpt4 book ai didi

java - 在html中使用base64字符串显示图像?

转载 作者:太空宇宙 更新时间:2023-11-04 14:05:21 25 4
gpt4 key购买 nike

这是我从图像构造 base64 字符串的 java 代码。然后放置base64 String html,即可查看构建的图像,但图像不是以某种方式构建的

public void getBase64String() throws FileNotFoundException {
FileInputStream itStrm = new FileInputStream(
"E:\\image\\56255254-flower.jpg");//image is lying at http://danny.oz.au/travel/mongolia/p/56255254-flower.jpg
String str = itStrm.toString();
byte[] b3 = str.getBytes();
String base64String = new sun.misc.BASE64Encoder().encode(b3);
//output of base64String is amF2YS5pby5GaWxlSW5wdXRTdHJlYW1AMTdlMDYwMA==
}

现在在 html 页面中,我将 base64String 的输出放在 img 标签中以查看图像。但是图像没有显示(而是显示十字图像图标)。我没有得到图像不是从下面的 base64 字符串显示的?

      <HTML>
<BODY>
<img src="data:image/jpeg;base64,amF2YS5pby5GaWxlSW5wdXRTdHJlYW1AMTdlMDYwMA=="/>

</BODY>
</HTML>

编辑:- 谢谢大家,我使用了 byte[] bytes = IOUtils.toByteArray(is);。它对我有用!!

最佳答案

这:String str = itStrm.toString() 不是图像,而是 FileInputStream 实例的 toString() 表示。

您必须从流中读取字节并将它们存储在字节数组中。并且,出于性能原因,缓冲流:

BufferedInputStream itStrm = new BufferedInputStream(FileInputStream(
"E:\\image\\56255254-flower.jpg"));

进一步阅读(剧透:内部解决方案)

关于java - 在html中使用base64字符串显示图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13024243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com