1

我有一个 GAEJ,想保存从 Android 设备和 iPhone 上传的图像。

为什么有两个 Google 服务,而 GAEJ 应该使用其中一个?

谷歌 Blobstore https://developers.google.com/appengine/docs/java/blobstore/

谷歌云存储 https://developers.google.com/storage/

伪代码:

  1. HttpClient 一些 Base64 编码的数据。
  2. 将图像发送到 Google App Engine。
  3. 从 Google App Engine 将解码后的图像保存到 BlobStore 或 Cloud Storage。
  4. HttpServletResponse 状态返回 Android。

我对如何执行第 3 步感到困惑。

提前致谢 问候

4

1 回答 1

1

很久以前,当应用引擎存在时,谷歌云存储还不存在,所以存储 blob 的方式是使用 blobstore。现在它存在了,他们使 blobstore 的 api 也可以与谷歌云存储一起使用。两者都适用于图像服务/操作。但是我认为云存储也是内置在 CDN 中的,它服务于最近的边缘服务器,而下载时 blobstore 将来自您的 appengine 实例。

上传到其中任何一个的工作方式相同,您需要从您的客户端请求上传 url 会话,然后当您发布到该 url 时,它将直接上传到 blobstore/云存储

send_to_client_url = blobstore.create_upload_url('/yourHandler')
HttpClient.post file to send_to_client_url
yourHandler recieves a blob row then store blobKey to your datastore as reference

当文件到达您的处理程序/或失败时,您已经上传了文件,因此请适当处理您对客户端的响应(android/ios)

于 2013-06-30T06:15:28.963 回答