【问题标题】:allow users to upload files to google cloud storage from a browser允许用户从浏览器上传文件到谷歌云存储
【发布时间】:2019-06-04 04:48:11
【问题描述】:

https://cloud.google.com/appengine/docs/standard/python/blobstore/ 准确描述了如何使用 AppEngine 和 Blobstore 执行此操作。显然,可以使用相同的 API 上传到 Cloud Storage。由于其他原因,我无法使用 AppEngine。我正在尝试使用 Cloud Run。对于不使用 AppEngine 的任何人,Cloud Storage 文档都没有显示任何从浏览器上传的清晰方法。

我想要blobstore.create_upload_url 之类的东西,但该 API 仅通过 AppEngine 运行时中的 appengine 库提供,在其他环境中不可用。

Cloud Storage 有 create_resumable_upload_session,它会创建一个上传 URL。但是,如果您将其粘贴在浏览器表单中 - 就像使用 create_upload_url 的方式一样 - 它不会在上传完成后重定向回应用程序。

【问题讨论】:

  • 通常人们使用 Firebase SDK 从客户端应用直接上传到 Cloud Storage。
  • 我对替代方法持开放态度。你能详细说明一下吗?

标签: google-cloud-storage


【解决方案1】:

Cloud Run 允许您使用here 列出的任何 GCP 服务,包括 Cloud Storage API 和客户端库。

Cloud Storage XML API 允许使用 POST Object 通过 HTML 表单上传对象。要在成功上传后实施重定向,您可以在包含在表单中的策略文档中指定这一点。 documentation 包含说明以及策略文档所需的必要编码和签名示例。

还有使用 XML API 的 option for resumable uploads。文档有上传已知大小、未知大小和取消上传的步骤。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-01
    • 1970-01-01
    • 2015-02-28
    • 1970-01-01
    相关资源
    最近更新 更多