Java 使用GWT应用程序-是否有一种变通方法使IE8能够正确处理/呈现长度超过32k的base64图像url?

Java 使用GWT应用程序-是否有一种变通方法使IE8能够正确处理/呈现长度超过32k的base64图像url?,java,image,gwt,Java,Image,Gwt,“问题:使用GWT应用程序-是否有一种变通方法使IE8能够正确处理/呈现长度超过32k的base64图像url?--将请求的图像发送到GWT客户端的另一种方法是什么?” 嗨 我正在使用java6、GWT和IE8 我必须根据请求将照片从数据库下载到GWT web应用程序客户端页面以供查看 我已经开始使用“Image”对象并将其添加到客户端页面上的SimplePanel中 通常,执行此操作的代码如下所示。。。 - - - AsyncCallback<String> asyncCa

“问题:使用GWT应用程序-是否有一种变通方法使IE8能够正确处理/呈现长度超过32k的base64图像url?--将请求的图像发送到GWT客户端的另一种方法是什么?”

我正在使用java6、GWT和IE8

我必须根据请求将照片从数据库下载到GWT web应用程序客户端页面以供查看

我已经开始使用“Image”对象并将其添加到客户端页面上的SimplePanel中

通常,执行此操作的代码如下所示。。。 - - -

    AsyncCallback<String> asyncCallback = new AsyncCallback<String>()
    {
        @Override
        public void onFailure(Throwable caught)
        {
        }

        @Override
        public void onSuccess(String base64Url)
        {
            imagePanel.clear();
            imagePanel.add(new Image(base64Url));
        }
    };
   service.getBase64ImageUrl(searchValueMap, asyncCallback);

   -
   -
   -
AsyncCallback AsyncCallback=new AsyncCallback()
{
@凌驾
失败时的公共无效(可丢弃)
{
}
@凌驾
成功时的公共void(字符串base64Url)
{
imagePanel.clear();
添加(新图像(base64Url));
}
};
getBase64ImageUrl(searchValueMap,异步回调);
-
-
-
这是使用FireFox实现的。。。但是,IE8似乎只允许长度不超过32K的URL字符串。不幸的是,我的应用程序必须与IE8兼容

结果是大于32K的base64图像字符串将仅部分渲染。。。这是不可接受的

对于IE8中的长度限制问题,是否有其他方法可以让客户端获得大于32k的图像?使用GWT,我还可以使用其他什么方法来实现这一点

谢谢你的帮助


sd

AFAIK没有解决IE8 32k URL大小限制的方法

在您的情况下,您可以直接加载映像,而无需GWT-RPC

new Image("/urlOfYourImageServlet?param1="+param1+"&param2="+param2);
(如果您的param1或param2包含一些时髦的字符,则需要删除它们)

在服务器端提供一个。只需将一些参数传递给它,这样它就可以决定要服务的图像