【问题标题】:How to set a custom Key for files uploaded to appengine using blobstore如何为使用 blobstore 上传到 appengine 的文件设置自定义密钥
【发布时间】:2014-03-20 16:46:20
【问题描述】:

关注appengine Uploading a blob instructions,我已经可以上传/下载图片了。

但我想找到一种防止重复的方法,因此我想知道是否可以为 blobstore 对象使用自定义键,或者使用 MD5 作为 Key,这样至少我可以覆盖现有文件。

我可以在blobstore.create_upload_url 中使用任何 hook 或一些额外的参数来帮助为上传的对象指定自定义 Key

【问题讨论】:

    标签: python google-app-engine blobstore


    【解决方案1】:

    Google 正在远离 blobstore。您还可以使用 Cloudstorage 客户端库。

    一些好处:

    • 自 1,9.0 默认 GCS 存储桶中的免费配额
    • 使用文件夹和文件名,您可以覆盖(替换)现有文件。
    • 为图片和其他文件创建一个 serving_url,由 Google 提供服务
    • 等等 ..

    我创建了this gist 来展示如何使用GCS in Google App Engine

    【讨论】:

      【解决方案2】:

      Blob 键保证是唯一的。你不需要为此做任何事情。

      编辑:

      如果要重写 blob,则需要知道要在模型中某处更新的 blob 的键。如果需要,您也可以在模型中存储哈希或任何其他标识符(即文件名)。然后,您可以将新文件的哈希值与之前存储的文件的哈希值进行比较,然后决定是否要删除重复记录。

      【讨论】:

      • 如何改变行为以便拥有自己的 Keys?例如,如果我使用 md5 作为密钥,我可以多次上传同一个文件,但最后只有一条记录,而不是多条具有相同数据的记录。有什么想法吗?
      • 您无法更改此行为。您需要记住要重写/删除的 blob 的键。我更新了我的答案。
      猜你喜欢
      • 1970-01-01
      • 2012-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-02
      • 2011-06-06
      相关资源
      最近更新 更多