【问题标题】:Can't decode base64 image from a text file using java无法使用java从文本文件中解码base64图像
【发布时间】:2021-09-20 03:46:49
【问题描述】:

我目前正在尝试使用此方法从 Base64 解码图像,但它从未获得 getProperty() 方法

Image icon = null;
Properties properties = ReadProperties.readFromConfig("img/icon.properties");
System.setProperty("jagacy.properties.dir", "src/test/resources/img");
byte[] decoded = Base64.decode(properties.getProperty("icon"));
icon = Image.getInstance(decoded);

icon.properties 文件包含以下内容:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAAAcUlEQVRIiWNgGAVkgqMMDAz/ScSHsRnEiMOC/2Q6DMM8FlI14AA4HcREpAFkg1ELCAJCkUxuaoIDXD44SIZZWPMBqQCWqYgGdI9kQkUEDBBdZKBb8I8KjiYqCEkNa5zqh35GG7CcfISBtDggVf0oQAAAu0ctGvdYYksAAAAASUVORK5CYII=

here's the picture that it's supposed to be decoded

到目前为止,我只尝试在纯文本和 URI 中解码 Base64,但最终都以相同的方式结束

【问题讨论】:

    标签: java base64 decode


    【解决方案1】:

    经过更多测试,最终的答案是从文本文件中删除 image/png;base64, 并修改代码,因此工作代码如下所示:

    Image icon = null;
    Properties properties = ReadProperties.readFromConfig("img/icon.properties");
    System.setProperty("jagacy.properties.dir", "src/test/resources/img");
    byte[] decoded = Base64.decode(properties.getProperty("data")); //<-- changed from "icon" 
    icon = Image.getInstance(decoded);
    

    icon.properties 文件包含以下内容:

    data:iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAAAcUlEQVRIiWNgGAVkgqMMDAz/ScSHsRnEiMOC/2Q6DMM8FlI14AA4HcREpAFkg1ELCAJCkUxuaoIDXD44SIZZWPMBqQCWqYgGdI9kQkUEDBBdZKBb8I8KjiYqCEkNa5zqh35GG7CcfISBtDggVf0oQAAAu0ctGvdYYksAAAAASUVORK5CYII=
    

    【讨论】:

      猜你喜欢
      • 2016-04-04
      • 1970-01-01
      • 1970-01-01
      • 2019-11-24
      • 1970-01-01
      • 2011-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多