5

有人可以为我澄清一下吗。我正在https://developers.google.com/appengine/docs/java/blobstore/overview阅读有关 blobstore 的开发人员页面。我似乎无法理解保存和检索 blob 的过程?这听起来像

  • android 应用程序会直接将图像发送到 blobstore
  • 保存图像后,blobstore 会将 blobkey 返回到我的后端,以便我放入数据存储区

是这个过程吗?也许是因为我度过了漫长的一天,但我就是看不到。如果有人有他们不介意分享的示例,请发布。我只需要将来自android的图像保存在blobstore中,然后就可以使用blobkey或其他方式检索它们。

我已经看过了

为了我的一生,我不知道他们为什么不为我做这件事。

我想有些问题是:

  • android如何知道将blob发送到哪里?我的意思是,Google 是否区分我的 blobstore 实例与其他人的实例,类似于它区分我的数据存储实例的方式?换句话说,Applications Overview我可以像在数据存储区中那样去应用程序引擎并查看属于我的应用程序的所有 blob 吗?我想一个完整的工作代码可以帮助我看到这些答案。

我的部分问题可能是我从未使用过 servlet。我目前正在为我的 api 使用 Google Cloud Endpoint。

4

2 回答 2

3

实际上有两种方法可以上传到 blobstore:

使用直接上传处理程序

  • 服务器通过获取一个唯一的一次性秘密上传 urlcreateUploadUrl(..)并将这个 url 发送给客户端。
  • 客户端使用multipart/form-dataPOST 将数据上传到此 url。
  • 好处是您可以上传大文件(> 32mb)。

使用已弃用不应再使用的blobstore FileServiceAPI

  • 您创建自己的 POST 上传处理程序,客户端上传数据。
  • 您使用FileServiceAPI 将数据保存到 blobstore。
  • 缺点是您最多可以上传 32mb 的数据(通用 GAE 请求限制)。
  • 好处是您可以访问数据,因此您可以根据需要编辑内容。
于 2013-04-27T08:35:50.823 回答
1

您对过程的描述是正确的。您错过的唯一步骤是第一步:服务器端调用 blobstoreService.createUploadUrl(redirecturl) 来生成要上传到的 URL。然后,redirecturl 处的处理程序会将 blob 键保存到数据存储区。

于 2013-04-27T04:06:11.140 回答