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

标签 java html image base64

这是我从图像构造 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/

相关文章:

java - 使用 GSON 进行 JSON 解析

java - 从 jtextfield 中删除最后一个字符

javascript 从各个深度获取 dom 元素子元素

php - 如何在 PayPal 捐赠中添加特定金额

image - Flutter qrImage 转换为图片

java - Kafka 0.10 Java 客户端 TimeoutException : Batch containing 1 record(s) expired

java - 无法通过jconsole连接到docker容器中的jmx jar进程

html - 没有不透明文本的不透明背景

c++ - 大型 JPEG/PNG 图像序列循环

php - 异步PHP