0

我对 Google Cloud Datastore 有疑问。

我用 Java 设置了一个应用程序,它从数据存储中写入和检索实体,但我无法在其中写入图像或二进制数据。

谷歌文档说就是这样(这是唯一缺少的例子): https ://developers.google.com/datastore/docs/concepts/entities#Embedded_Entities

但目前尚不清楚如何做到这一点。

在此先感谢您的帮助

4

2 回答 2

2

我认为这可能是一个使用 Cloud Storage 存储图像文件的好地方,然后将图像文件的 URL 存储在 Datastore 中。

如果您使用 App Engine,则可以探索Cloud Storage Client Library

如果没有,请查看Google Cloud Storage 的 Javadocs

于 2014-02-23T20:41:26.703 回答
0

我使用 Spring MVC + jpa + 数据存储来做到这一点。

模型 :

@Entity
public class Product {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Key id;
    private MultipartFile image;
    private Blob img;
    //setter and getter
}

控制器 :

@RequestMapping(value = "/add", method = RequestMethod.POST)
public String add(ModelMap model, Product form, HttpServletRequest request) {
   if(ServletFileUpload.isMultipartContent(request)) {
     try { 
        Blob file = new Blob(form.getImage().getBytes()); 
        form.setImg(file);
     } catch (IOException  e) { // TODO Auto-generated catch block 
        e.printStackTrace(); 
     }
   }
   Product inserted = ProductDAO.INSTANCE.save(form);
   //other logic and return to jsp
}

对于 dao 只是像往常一样保存,你可以找到很多例子。

于 2013-06-28T12:04:36.623 回答