Google AppEngine Blobstore:在Java中按文件名下载Blob

时间:2011-04-01 21:56:42

标签: java google-app-engine blob blobstore

假设我已经将一堆文件(在这种情况下,如果重要的话)上传到GAE的BlobStore。
后来,我希望能够从其他地方下载这些文件 我知道我可以使用BlobStoreService的serve方法通过BlobKey获取blob,但是如何获取与给定文件名关联的blobkey?
我似乎无法找到任何内置功能。<​​/ p>

2 个答案:

答案 0 :(得分:18)

包含filename属性的

BlobInfo元数据存储在数据存储区中的只读__BlobInfo__实体中。

Query query = new Query("__BlobInfo__"); 
query.addFilter("filename", FilterOperator.EQUAL, filename); 
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); 
PreparedQuery pq = datastore.prepare(query); 
List<Entity> entList = pq.asList(FetchOptions.Builder.withLimit(1)); 
String name = entList.get(0).getKey().getName();

答案 1 :(得分:-5)

您可以按文件名查询BlobInfo对象。