gwt base64图片

Hoa*_*oax 5 gwt base64

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

我的第一直觉是

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

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

Chr*_*her 6

如果你想使用数据URI(使用base64编码) - 虽然IE <= 7不支持它,而IE8只允许最多32 kB - 你必须对图像数据进行base64编码.

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

String base64 = Base64Utils.toBase64(icon);
Run Code Online (Sandbox Code Playgroud)

然后将编码数据传输到客户端.

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