我在服务器端生成一个 base64 图像源,然后通过异步调用将其检索到 GWT 客户端。不幸的是,回调结束后图像未显示(一切正常),但在第二次回调后显示。在创建 Image 对象后,我尝试立即捕获 onLoad 事件,但这并不好。
谢谢!
编辑 1
经过一番调查,这是一个尺寸问题,我的意思是,base64 在那里并且图像标签被正确创建,但是宽度和高度都设置为 0。
编辑 2
这就是我在网站中放置图像的方式:
import net.customware.gwt.dispatch.server.Dispatch
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Image;
dispatch.execute(action, new AsyncCallback<GenerateImageResult> () {
@Override
public void onFailure(Throwable caught) {};
@Override
public void onSuccess(GetCarpetasResult result) {
String base64 = result.getBase64();
Image image = new Image(base64);
RootPanel.get().add(image);
}
});