GWT - 如何处理来自数据库的图像?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (47)

我实际上正在研究一个基于GWT的网站。现在我被困在如何显示存储在我的网站数据库中的图像?

基本上我在我的数据库中有一个bytearray,我使用hibernate获取。现在我应该创建一个...标签,但我不知道如何创建?

我在Java和Hibernate中使用GWT。

提问于
用户回答回答于

这是解决办法。但该方法不适用于IE7,IE8的限制为32 KB。IE9没有这个限制。

以下是服务器上的方法:

public String getImageData(){
      String base64 = Base64Utils.toBase64(imageByteArray); 
      base64 = "data:image/png;base64,"+base64;
      return base64;
}

这是客户端的方法;

@Override 
public void onSuccess(String imageData) {     
    Image image = new Image(imageData);     
    RootPanel.get("image").add(image); 
} 
用户回答回答于

我不知道GWT是如何工作的,尽管你可以映射一个返回resourceStream的servlet /控制器。例如,如果你映射一个带有imageId参数的servlet“imageViewer”,那么对图像的请求就会变成

/imageViewer?imageId=1234

Hibernate对象会引用blob,所以你可以返回它。在UI上的参考将是

<img src="/imageViewer?imageId=1234"/>

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励