将图片从Android上传到Google云端存储或Google App Engine Blobstore

时间:2013-06-29 21:37:18

标签: google-app-engine google-cloud-storage

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

为什么有两个Google服务,哪个应该从GAEJ使用?

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

Google Cloud Storeage https://developers.google.com/storage/

伪代码:

  1. HttpClient一些Base64编码数据。
  2. 将图片发送到Google App Engine。
  3. 来自Google App Engine将解码后的图像保存到BlobStore或Cloud Storage。
  4. HttpServletResponse状态回到Android。
  5. 我对如何做第3步感到困惑。

    提前致谢 此致

1 个答案:

答案 0 :(得分:1)

很久以前,当应用引擎存在时,谷歌云存储还不存在,所以存储blob的方法是使用blobstore。现在它们已经存在,他们为blobstore制作了api,也支持谷歌云存储。两者都与图像服务/操作一起工作。但我认为云存储也是用cdn构建的,它服务于最近的边缘服务器,而下载时blobstore将来自你的appengine实例。

上传到其中任何一个的工作方式相同,从您的客户端,您需要请求上传网址会话,然后当您发布到该网址时,它将直接上传到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)时适当处理了