我试图在GWT面板中显示~80K jpeg图像。 (fwiw - 从数据库表中检索图像)
出于某种原因,当我尝试显示时,只有面板中的前1/3(大约)显示(SimplePanel)。较低分辨率的图像完整显示。 - 此问题似乎不是面板高度/宽度设置的函数。
这是否由于 32k限制我听说过有关 IE 浏览器的内容?
如果是这样,是否有可用于显示图像的替代技术的完整示例(在SimplePanel中) - 即,整个图像将显示在IE中?
(涉及的代码段)
-
-
-
//prepare image url on server (for use by client)
String base64Url = "data:image/jpeg;base64," + base64.encodeToString(imageByteArray);
-
-
-
//client retrieving image url (from server)...
AsyncCallback<String> asyncCallback = new AsyncCallback<String>()
{
@Override
public void onFailure(Throwable caught)
{
Window.alert("DetailView/setRowData/asyncCallBack/onFailure - " + caught.getMessage());
}
@Override
public void onSuccess(String base64Url)
{
Window.alert("DetailView/setRowData/asyncCallBack/onSuccess - base64Url:" + String.valueOf(base64Url));
imagePanel.clear();
imagePanel.add(new Image(base64Url));
}
};
searchValueMap.put("doc_id",doc_id.trim().toUpperCase());
service.getBase64ImageUrl(base64Url, asyncCallback);
-
-
-
答案 0 :(得分:0)
RFC 2397提示其URL长度是限制因素而不指定任何特定长度:
http://www.ietf.org/rfc/rfc2397.txt
我对此的体验仅来自GWT ResourceBundle代码。在那里,数据网址仅限于几种浏览器类型,任何大于32K的图像都不符合通过数据网址发送的条件: