繁体   English   中英

将图像写入谷歌云数据存储区

[英]Write an image to google cloud datastore

我对Google Cloud Datastore有疑问。

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

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

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

先谢谢您的帮助

我认为这可能是使用云存储来存储图像文件,然后将图像文件的URL存储在数据存储区中的好地方。

如果您使用的是App Engine,则可以浏览云存储客户端库

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

我使用Spring MVC + jpa + datastore来做到这一点。

型号:

@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只是像往常一样保存,你可以找到很多例子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM