在Google App Engine(Python)中按文件名下载Blob

时间:2012-12-26 16:05:38

标签: python google-app-engine google-cloud-datastore

我知道我可以通过BlobKey获取blob,但是如何获取与给定文件名关联的blobkey?

简而言之,我想实现“按文件名获取文件”

我似乎找不到任何内置功能。<​​/ p>

2 个答案:

答案 0 :(得分:2)

您可以通过文件名找到blob。您需要在数据存储区中查询BlobInfo类型的实体。这些实体具有属性filename

但请注意,文件名不能保证唯一:您可能会得到多个结果。然后,您可以使用属性creation查找最新的blob。

有关详情,请参阅https://developers.google.com/appengine/docs/python/blobstore/blobinfoclass

答案 1 :(得分:1)

您上传的每个blob都会在blobstore中创建该Blob的新版本(带有该文件名)。当然,如果你上传了新版本,你可以删除blob的旧版本。但是为了确保您拥有最新版本的blob(文件名),您必须将文件名存储在数据存储区中并引用最新版本。该引用包含blob_key。