【问题标题】:Simple file uploads from Android to Google App Engine?从 Android 到 Google App Engine 的简单文件上传?
【发布时间】:2011-08-29 03:23:34
【问题描述】:

我正在编写一个 Android 应用程序,该应用程序需要将文件存储在云存储中,只能从同一 Google 帐户上的其他 Android 设备访问。我认为 App Engine 是最好的选择。

我以前从未使用过 GAE。我不知道如何为它编程,但我用 Java 编写代码。 基本上,我如何让我的 Android 应用将文件(blob?)上传到与其 Google 帐户绑定的 Google App Engine?


感谢 Nikolay,这正是我想要的! 但是有一个问题:这个例子显示了通过一个网站上传。我想知道是否可以通过 Java 应用上传。

【问题讨论】:

  • 要通过您的应用上传,您只需发出与网络浏览器相同的请求。

标签: android google-app-engine


【解决方案1】:

你必须做一些reading first。基本上,从您的 GAE 应用程序中公开一个需要身份验证的 URL。只有在拥有 Google 帐户的情况下才允许人们发布数据。然后,您需要使用当前登录用户的电子邮件地址将每个上传与特定用户相关联。

要从 Java 应用程序上传,您可以使用 Apache HttpClient(在 Android 中可用)发布到 GAE servlet。只需使用与 JSP 中相同的参数。

【讨论】:

    【解决方案2】:

    这是我在做类似工作时遵循的列表。

    1. 创建一个异步任务作为主体来执行网络相关任务,你不能在你的主UI线程上做网络操作。

    2. 您需要获取一个UPLOAD URL 供您上传文件,这个UPLOAD URL 是由GAE servlet 或JSP 页面调用BlobStore createUploadURL() 方法,该方法下一步需要一个url。

    3. 异步任务使用 URLConnection 或 HttpClient 将文件上传到步骤 2 中获取的 url,同时将连接设置为跟随重定向,以便服务器可以发送回 blob 密钥。

    4. 接收服务器响应的blob key,作为ticket在服务器端引用上传的文件。

    祝你好运。

    【讨论】:

      猜你喜欢
      • 2015-06-30
      • 1970-01-01
      • 2010-10-24
      • 2014-12-10
      • 2017-05-04
      • 1970-01-01
      • 2020-06-08
      • 2010-09-10
      相关资源
      最近更新 更多