如何将字符串格式的图像传递给JavaScript并将其写入文档

时间:2015-05-22 06:53:02

标签: javascript svg

我将JSON字符串传递给JavaScript代码,其中包含{“imagePath”:“a.svg”}现在不是传递我想要将图像作为字符串发送的路径(可能是一些字节代码)。我将在JavaScript中解析此字符串并将其作为图像写入文档。

2 个答案:

答案 0 :(得分:2)

将svg字符串转换为base64,并将base64字符串作为属性添加到json。 看一下例子:https://jsfiddle.net/wLftvees/1/ enter image description here

var decodedJson = {
    img: 
"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBB"+
"ZG9iZSBJbGx1c3RyYXRvciAxNS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9u"+
...
"NSw4LjU5NS0wLjA5NSwxMC42ODIsMS45MDMiLz4NCjwvc3ZnPg0K"
};

document.getElementById('image').src = 'data:image/svg+xml;base64,' + decodedJson.img;

答案 1 :(得分:0)

首先:将图像转换为字符串

3

第二:将字符串转换为图像

public static String encodeToString(BufferedImage image, String type) {
    String imageString = null;
    ByteArrayOutputStream bos = new ByteArrayOutputStream();

    try {
        ImageIO.write(image, type, bos);
        byte[] imageBytes = bos.toByteArray();

        BASE64Encoder encoder = new BASE64Encoder();
        imageString = encoder.encode(imageBytes);

        bos.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return imageString;
}

现在您可以使用2功能并切换到Javascript来获取图像。 ^^