如何按名称从BlobStore读取文件

时间:2015-12-13 15:26:42

标签: java google-app-engine blobstore

假设我有一些文件的上传表单,如文档中的文件 https://cloud.google.com/appengine/docs/java/blobstore/

如果我将文件file.txt保存到blobstore,如果我不知道它BlobKey,我怎么能从中获取它?更准确地说,我想通过以下请求获取此文件:myapp.appspot.com/getfile?file_name=file.txt我只想在此网址上看到文件file.txt

1 个答案:

答案 0 :(得分:1)

如果你使用Blobstore,你必须记住一个键才能检索blob。

如果您使用Blobstore在Cloud Storage中存储文件,则可以使用对象名称访问它们,该对象名称可以是上载文件的原始名称。

如果您的文件是公开的,则可以直接访问:

String filename = "/gs/" + bucket + "/" + objectName;
BlobstoreService blobService = BlobstoreServiceFactory.getBlobstoreService();
blobService.serve(blobService.createGsBlobKey(filename), response);

如果您想先在应用中阅读,然后返回客户端,那么您可以使用:

{{1}}