使用GWT显示从REST webservice检索到的图像时出现问题

2024-10-02 16:22:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个内置于GWT的前端,从restfulweb服务检索数据。我需要在服务器端生成一个映像(wordcloud),并将其提供给客户机。一些搜索表明我需要以base64编码的字符串形式发送它。我没有得到客户端的数据。在

作为测试,我去掉了编码,将内容类型设置为'image/png',并在浏览器中输入URL,并且能够看到图像,因此我知道在这方面,服务器工作正常。我怀疑我在客户端的头和/或解释上做了些错误。任何帮助都将不胜感激。在

在客户端,我的代码是:

        String url = BASE_URL + CLOUD + "?" + TITLE_TXT + docTitle;
        url = URL.encode(url);

        RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
        try {
            Request request = builder.sendRequest(null, new RequestCallback() {

                @Override
                public void onError(Request request, Throwable exception) {
                    displayError("Couldnt' retrieve word cloud - request error");

                }
                @Override
                public void onResponseReceived(Request request, Response response) {


                    if (200 == response.getStatusCode()) {
                        String imgTxt = response.getText();
                        Image img =  new Image();
                        img.setUrl("data:image/png;base64,"+imgTxt);
                        updateWordCloud(img);
                    } else {
                        displayError("Couldn't retrieve word cloud (" + response.getStatusText()
                                + ")");
                    }
                }
            });
        } catch (RequestException e) {
            displayError("Couldn't retrieve word cloud");
        }

Python(rycherpy)服务器是:

^{pr2}$

Tags: 数据cloudurl客户端imgnewresponserequest