如何验证Blobstore Files记录是否已存在?

时间:2012-10-05 07:47:54

标签: google-app-engine blobstore

可以根据Blobstore Files API Functions doc使用get_file_name(blob_key)。但这是因为我知道blob_key(实际上,我知道,但这是对数据存储区的额外请求)。

我想验证第二次没有将相同的文件添加到Blobstore。文件名是唯一的。那么,我可以通过文件名检查记录的存在吗?

1 个答案:

答案 0 :(得分:1)

不,你无法检查文件名。每次使用相同的名称创建或装载一个文件到blobstore时,它都将添加相同的名称,但是新的blob_key。

以下是删除旧版本blob的一些代码

..... code to create a new blob with filename = name
files.finalize(f_name)                                   # finalize the new blob                        
blob_key = files.blobstore.get_blob_key(f_name)          # get the blob_key of the newly saved blob
blobs = blobstore.BlobInfo.gql("WHERE filename = '%s'" %(name))                            
for blob in blobs :
    if blob.key() != blob_key : blob.delete()            # delete old versions of the blob