Java GWT Image.onErrorHandler 未触发

Java GWT Image.onErrorHandler is not triggering

我在 GWT 上遇到图像加载问题。

在服务器端:

在客户端:

但是,即使我使用本地主机,有时也无法显示图像。而且它永远不会触发“onError”,总是“onLoad”。

我该如何调试呢?请帮忙。

tbCaptcha = new TextBox();

imgCaptcha = new Image();
imgCaptcha.addErrorHandler(new ErrorHandler() {
    public void onError(ErrorEvent event) {
        d.ce("onCaptcha", "onError", System.currentTimeMillis());
        onCaptcha.execute();
    }
});
imgCaptcha.addLoadHandler(new LoadHandler() {
    public void onLoad(LoadEvent event) {
        d.cr("onCaptcha", "onLoad", System.currentTimeMillis());
    }
});

var login = TGS_LibScaleServletUtils.login();
var newUrl = TGC_CaptchaUtils.newUrl(login.domain, login.port, login.spi);
imgCaptcha.setUrl(newUrl);

是的,我正在创建一个带有随机参数并使用 Image.prefetch 的新 URL,如下所示:

public static String newUrl(CharSequence domain, Integer port, CharSequence spi) {
    var newUrlCaptcha = TGS_UrlBuilderUtils.https()
            .domain(domain).port(port).directory(spi)
            .fileOrServlet(TGS_SURLUtils.LOC_NAME)
            .parameter(TGS_SURLUtils.PARAM_NAME, TGS_CaptchaUtils.SERVLET_REFRESH())
            .parameterRandom("r", 10).toString();
    Image.prefetch(newUrlCaptcha);
    return newUrlCaptcha;
}

客户端控制台:

从 Dark Dark Theme 更改为 Light 浏览器主题。 由于验证码图像是透明的,带有黑色文本,与黑色背景相匹配。