【问题标题】:gwt base64 imagegwt base64 图像
【发布时间】:2012-01-14 00:14:34
【问题描述】:

我通过 jaxb 从 xml 文件中获取 base64 字节 [],但我不确定如何将其转换回 gwt 图像(如果我理解正确的话,它基本上是一个底层 html img)。如何转换成正确的字符串?

我的第一反应是

public void onSuccess(final byte[] icon) {
img.setUrl("data:image/png;base64,"+icon.toString());

但显然这不起作用。 任何帮助表示赞赏!

【问题讨论】:

    标签: gwt base64


    【解决方案1】:

    如果您想使用data URIs(使用 base64 编码) - 尽管 IE

    周围有几个 Base64 编码器,例如com.google.gwt.user.server.Base64Utils,可以在服务器端使用:

    String base64 = Base64Utils.toBase64(icon);
    

    然后将编码后的数据传输给客户端。

    如果您绝对愿意,您也可以在客户端使用编码器,但这需要将 java 文件复制到客户端源(如果您确保您选择的实现允许这样做)。

    【讨论】:

      【解决方案2】:
      String b = "this should be a base64 encode string that was generated from an icon or byte[]";
      Image image = new Image();
      image.setUrl("data:image/png;base64,"+b);
      
      view.getPreviewTable().setWidget(14, 0, image);
      

      在这种情况下,图像是 gwt 图像。

      【讨论】:

        【解决方案3】:

        您应该提供可用于获取图像的 URL。我真的不认为你的代码会产生看起来像 url 的东西(比如http://localhost/myimage.png,或者可能是 mywebapp/myimage.png...)

        【讨论】:

        猜你喜欢
        • 2014-11-22
        • 2013-06-02
        • 1970-01-01
        • 2015-12-09
        • 2012-06-21
        • 2011-03-17
        • 2010-11-15
        • 2018-01-13
        • 2016-08-27
        相关资源
        最近更新 更多