首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >GWT -来自数据库的图像

GWT -来自数据库的图像
EN

Stack Overflow用户
提问于 2010-12-29 18:30:28
回答 4查看 11.7K关注 0票数 18

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

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

我在Java和Hibernate中使用GWT

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-12-29 19:26:52

以下是解决方案。首先,应该使用com.google.gwt.user.server.Base64Utils.toBase64(byte[])对字节数组进行编码。但是这种方法不适用于IE7,而且IE8有32kb的限制..IE9没有这个限制。

下面是服务器上的方法

代码语言:javascript
复制
public String getImageData(){
      String base64 = Base64Utils.toBase64(imageByteArray); 
      base64 = "data:image/png;base64,"+base64;
      return base64;
}

下面是客户端方法;

代码语言:javascript
复制
@Override 
public void onSuccess(String imageData) {     
    Image image = new Image(imageData);     
    RootPanel.get("image").add(image); 
} 
票数 12
EN

Stack Overflow用户

发布于 2010-12-29 20:11:05

我不知道GWT是如何工作的,尽管您可以映射一个返回resourceStream的servlet/控制器。例如,如果您映射一个采用imageId参数的servlet "imageViewer“,则对图像的请求将变为

代码语言:javascript
复制
/imageViewer?imageId=1234

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

代码语言:javascript
复制
<img src="/imageViewer?imageId=1234"/>

更新:您可能无法使用Model,因为它返回图像,您需要一个显式的控制器或返回流数据的servlet。

在servlet中,您将执行如下操作

代码语言:javascript
复制
// get reference to input stream
InputStream in = hibnerateObject.getImage();  
// set MIME type etc
response.setContentType(mimeType);
OutputStream out = response.getOutputStream();
while ((len = in.read(buf)) >= 0)
 out.write(buf, 0, len);
in.close();
out.close();
票数 4
EN

Stack Overflow用户

发布于 2010-12-29 18:39:46

在GWT中有Image Widget。您不能在客户端执行此操作,但可以调用RPC与服务器进行通信。那么它就是一个简单的CRUD应用程序。在服务器端,使用hibernate连接到数据库,并将图像返回给客户端,或者返回url,然后在客户端执行类似的操作:

代码语言:javascript
复制
@Override
public void onSuccess(String imageUrl) {
    Image image = new Image(imageUrl);
    RootPanel.get("image").add(image);
}

@Override
public void onFailure(Throwable caught) {
    Window.alert(caught.getMessage());
}

就这样。快乐编码

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

https://stackoverflow.com/questions/4553316

复制
相关文章

相似问题

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