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