首页 文章

如何使用GAE / Cloud Endpoints API方法将图像上传到Google Cloud 端存储

提问于
浏览
2

有没有人有一个GAE / Cloud Endpoints API方法(用Java)的例子,它可以从Android应用程序中获取图像并将其上传到Google Cloud 端存储?

我似乎无法找到关于如何做到这一点的任何样本,但根据我的理解,这是可能的 .

编辑:教程here显示了如何在eclipse中向谷歌应用引擎添加依赖项,并将图像上传/下载到谷歌 Cloud 存储 . 是否有可能以某种方式使用Cloud Endpoints执行此操作..?毕竟,它们都是Google App Engine .

我想将尽可能多的上传/下载代码卸载到我的Cloud Endpoints API方法中,而不是编写Android内部的所有代码 . 这将允许我在其他客户端上重用我的Cloud Endpoints API .

更多信息我发现:https://developers.google.com/api-client-library/java/apis/storage/v1#sample

看起来这是 Cloud endpoints 后端的gradle依赖?:

dependencies {
    compile 'com.google.apis:google-api-services-storage:v1-rev66-1.21.0'
}

编辑:

您应该在 Cloud endpoints 中使用此依赖关系:

compile 'com.google.appengine.tools:appengine-gcs-client:0.5'

3 回答

  • 2

    解决方案:https://github.com/thorrism/GoogleCloudExample

    启用Google Cloud 端存储:=> https://console.developers.google.com/apis

    生成并下载密钥P12:=> https://console.developers.google.com/iam-admin/iam创建一个名为"assets"的文件夹,并将密钥放在那里:=> app / src / main / assets / "yourKey.P12"

    对于每个人都可以访问您上传的文件阅读不要忘记在您的Bucket上添加权限

  • 1

    您可以将文件上传到Google Storage using Json Api

    您可能希望也可能不希望通过 endpoints 将文件元数据存储到数据存储区 .

    您可能希望也可能不希望通过 endpoints 对用户进行身份验证,然后才能将文件存储到存储 .

    我想说的是存储/ endpoints /数据存储是三个不同的东西,你不需要一起使用它们 .

    有用链接:https://github.com/pliablematter/simple-cloud-storage

  • 1

    您无法直接将(大)文件上载到Endpoints API方法,而是需要使用blobstore(或GCS)(https://cloud.google.com/appengine/docs/python/blobstore/)接收它们 . 这需要以下内容:

    • 在服务器上设置blobstore上传处理程序(这只是一个常规的webapp2处理程序) .

    • 公开调用 blobstore.create_upload_url() 的Endpoints方法,然后将上传URL返回到您的App .

    • 在应用程序中,将图片上传到该上传URL;然后,您可以在上传处理程序中访问该文件,您可以将其移动到GCS,数据存储区或其他位置 .

相关问题