小编Hoo*_*pla的帖子

Java - XML中的图像编码

我以为我会相对容易地找到解决这个问题的方法,但是在这里我要求你们众神的帮助让我摆脱这个难题.

所以,我有一个图像,我想用Java将它存储在XML文档中.我以前通过将图像保存到流中,将流转换为数组,然后VB的xml类能够将数组编码为base64字符串,在VisualBasic中实现了这一点.但是,经过几个小时的网络搜索以获得Java中的等效解决方案后,我空手而归.我唯一的成功是:

import it.sauronsoftware.base64.*;
import java.awt.image.BufferedImage;
import org.w3c.dom.*;

...

      BufferedImage img;
      Element node;

      ...

      java.io.ByteArrayOutputStream os = new java.io.ByteArrayOutputStream();

      ImageIO.write(img, "png", os);

      byte[] array = Base64.encode(os.toByteArray());

      String ss = arrayToString(array, ",");

      node.setTextContent(ss);

      ...

  private static String arrayToString(byte[] a, String separator) {
    StringBuffer result = new StringBuffer();
    if (a.length > 0) {
        result.append(a[0]);
        for (int i=1; i<a.length; i++) {
            result.append(separator);
            result.append(a[i]);
        }
    }
    return result.toString();
  }
Run Code Online (Sandbox Code Playgroud)

我想这是可以的,但是当我加载XML文件时,将其转换回图像的过程已被证明是不可能的.如果有人有更好的方法对XML文件中的图像进行编码/解码,请向前迈进,即使它只是指向其他线程的链接也没关系.

提前干杯,

喧闹.

java xml encoding image

10
推荐指数
2
解决办法
2万
查看次数

标签 统计

encoding ×1

image ×1

java ×1

xml ×1