首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zingchart通过java调用getimagedata api

Zingchart通过java调用getimagedata api
EN

Stack Overflow用户
提问于 2020-09-23 17:54:15
回答 1查看 46关注 0票数 1

我尝试将zingchart图像导出到java中的base64对象中。

我想在js中像这样使用getimageapi:

代码语言:javascript
复制
function exportImgChart(idChart) {
zingchart.exec('idChart', 'getimagedata', {
    filetype: 'png',
    callback : function(imagedata) {
        console.log(imagedata);
        document.getElementById('output_image').src = imagedata;
    }
});}

但是我不知道如何在java代码中调用它?我把我的js函数放如下:

代码语言:javascript
复制
    public void getImageChart(AjaxRequestTarget target, String idChart) {

    String js = MessageFormat.format("exportImgChart({0});", //
            StringUtils.wrap(this.getMarkupId(), "'") //
            );

    target.appendJavaScript(js);
    
    //how to get image base 64 here ?

}

我的java框架是Wicket。

感谢您的帮助!

杰夫

EN

回答 1

Stack Overflow用户

发布于 2020-09-23 18:33:22

调用getImageChart(AjaxRequestTarget, String)是因为从浏览器到服务器进行了一些Ajax调用。

然后,在服务器端构造一个字符串,该字符串与响应一起发送到浏览器。target.appendJavaScript(js);不会立即发送。它只是说"'js‘将是响应的一部分“,但是一旦getImageChart()和更多的方法被完全执行,响应就会被刷新到浏览器。

您不能在target.appendJavaScript(js)之后立即使用base64编码的图像。要获得base64数据,需要在JavaScript函数exportImgChart()中对服务器进行新的Ajax调用。这个新的Ajax调用很可能会调用新的回调方法,例如onBase64Image()或任何你命名的方法。

有关更多信息,请参阅此答案:https://stackoverflow.com/a/42612027/497381

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64025367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档