首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用保存blobs

用保存blobs
EN

Stack Overflow用户
提问于 2014-03-03 18:00:15
回答 1查看 766关注 0票数 4

我有一个应用程序,可以让用户保存在blobs商店的blobs。我现在有一个这样做的模式,但我感兴趣的是一些更简单、更不扭曲的东西。就上下文而言,想象一下我的应用程序允许用户上传动物的图片,其中有一段描述动物在做什么。

当前模式

  1. 用户调用我的端点api将动物的paragraphname保存在实体Animal中。注意: Animal实体实际上有4个字段( nameparagraphBlobKeyblobServingUrl作为字符串)。但是端点api只允许保存上面提到的两个。
  2. 在端点方法中,在应用程序引擎端,在保存nameparagraph后,进行以下调用以生成blob服务url,而我的端点方法则返回给调用方。 @ApiMethod(name = "saveAnimalData",httpMethod = HttpMethod.POST)公共字符串saveAnimalData(AnimalData请求)抛出异常{.BlobstoreServiceFactory.getBlobstoreService();字符串url = blobstoreService.createUploadUrl("/upload");返回url;}
  3. 在android方面,我使用一个普通的http调用将图像的byte[]发送到send商店。我使用apache DefaultHttpClient()注意:在保存了图像后,blob商店用blob键调用了我的应用程序引擎服务器,并提供了url。
  4. 我使用一个普通的java (即public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException )从blobstore (名为my url)读取响应。在servlet中,我将BlobKeyblobServingUrl放入关联动物的Animal实体中。(我把一些元数据传递给了some商店,我用它作为标记来识别相关的动物实体)。

所需的模式

这就是你的回应。至关重要的是,我希望消除java,并将整个api限制在google云端点上。所以我的问题是:如何使用我的端点来执行步骤3和步骤4?

因此,我们的想法是在发送paragraphname数据的同时,将图像字节发送到端点方法name。然后在端点方法中,将图像发送到then存储,然后将BlobKeyblobServingUrl持久化到我的实体Animal中。

您的响应必须是java。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-04-08 08:43:58

我在这里看到两个问题:

  1. 能处理多部分文件吗?->,我不知道。
  2. 是否有比使用BlobStoreService更简单的存储blobs的过程?

这取决于你的图像大小。如果将用户限制为< 1MB文件,则只需将图像存储为Blob实体的Animal属性即可。它可以让你绕过BlobStoreService管道。请参阅:https://developers.google.com/appengine/docs/java/datastore/entities?hl=FR

此解决方案仍然取决于Cloud如何将多部分文件作为原始byte[]处理.

2009年,我们在GWT + Google上遇到了同样的问题,当时还没有发布BlobStoreService。

GWT和Cloud接口有一些相似之处,对我们来说是不可能的。我们必须创建一个普通的HTTP,并使用流多部分文件解析器,因为Apache的HTTP中的解析器使用的是文件系统。

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

https://stackoverflow.com/questions/22153910

复制
相关文章

相似问题

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