Google app engine 无法在gwt google数据存储中获取图像数据-图像已溢出

Google app engine 无法在gwt google数据存储中获取图像数据-图像已溢出,google-app-engine,gwt,jdo,google-cloud-datastore,Google App Engine,Gwt,Jdo,Google Cloud Datastore,我有一个类,在这个类中我对一个序列化的类进行了解密以存储图像数据 final Image logoImage = new Image(); logoImage.setUrl("/showlogo"); logoImage.setHeight("100px"); logoImage.setWidth("100px"); 类的实现 public class DownloadableFile implements Serializable { 公共可下载文件(字节[]内容、字符串文件名、字符串mi

我有一个类,在这个类中我对一个序列化的类进行了解密以存储图像数据

final Image logoImage = new Image();
logoImage.setUrl("/showlogo");
logoImage.setHeight("100px");
logoImage.setWidth("100px");
类的实现

public class DownloadableFile implements Serializable {
公共可下载文件(字节[]内容、字符串文件名、字符串mimeType){ 超级(); this.content=内容; this.filename=文件名; this.mimeType=mimeType; } 私有静态最终长serialVersionUID=-8497358622042084708L; 私有字节[]内容; 私有字符串文件名; 私有字符串mimeType; 公共可下载文件(){ } }

showlogo是一个servlet,它应该从数据存储中获取内容,但其所有调用都返回null,而blob在app扳手中可见

其预期用于生成图像数据的位置

final Image logoImage = new Image();
logoImage.setUrl("/showlogo");
logoImage.setHeight("100px");
logoImage.setWidth("100px");
编辑: 现在,图像数据正在保存和获取,但图像已展开。我试过给出高度/宽度等

Servlet代码:

com.sms.DownloadableFile df = w.getImageLogoFile();
if (df != null){
    String filen = df.getFilename();
    response.setHeader("Content-Disposition", "filename="+filen);
    String mime = df.getMimeType();
    response.setContentType(mime);
    byte[] b = df.getContent();
    //Base64.encode(b);
    response.setContentLength(b.length);
    ServletOutputStream out = response.getOutputStream();
    out.write(b);
    // Pipe data here
    out.flush();
    out.close();
}

您没有将该字段放在fetch组中,因此它没有被提取。

为什么这个字段被标记为gwt?我在你的问题中没有看到任何关于gwt的内容。图像调用来自gwt模块。对localhost:8080/showlogo的正常调用有效,但获取的图像大小为0。我看不出您所指的是哪个字段。servlet具有获取内容的完整查询。对servlet的直接调用可以工作,但返回0大小的图像。您只提到(类的)一个字段。序列化的一个(imageLogoFile)。