使用Android存储配置文件图像的最佳方式,应用程序引擎+数据存储



我使用的是带有谷歌应用程序引擎端点的Android,后端存储数据存储。现在我想添加和存储用户图像。什么是集成谷歌云存储的最佳方式:

  1. 在api中创建一个带有Blob的新端点,并从端点调用云存储?安卓-->-->应用程序引擎端点-->谷歌云存储谷歌云存储-->应用引擎端点-->-->安卓

  2. 直接从Android设备调用谷歌云存储,无需端点?安卓-->-->谷歌云存储

  3. 更好的选择?

谢谢!

只有当图像低于1MB时,选项1才会起作用,因为这是base64编码字符串在数据存储中的最大大小(这是您将传递给端点方法的)

我不推荐您的选项2,因为那样您将直接在客户端中存储GCS的服务帐户密钥,这将不安全(除非您不在乎)。

选项3就是我所做的:

我有一个Endpoints方法,它生成一个签名的url(或者你可以使用可恢复的url)。已签名的URL会超时并过期。对象名称和bucket在签名的url中指定。我在Android中调用我的端点方法来获得签名的url,并使用HttpURLConnection将图像上传到GCS。

和我一样,当你的对象上传到GCS时,你可能想要一个回调方法。这有点复杂,但您需要在Endpoints项目中创建一个servlet并进行相应的处理。该文档对对象更改通知非常有帮助。

最新更新