如何按名称从 BlobStore 读取文件
How to read file from BlobStore by name
假设我有一些文件上传表单,比如文档中的那个
https://cloud.google.com/appengine/docs/java/blobstore/
如果我将文件 file.txt
保存到 blobstore,如果我不知道它是 BlobKey
,我该如何从中获取它。更准确地说,我想通过这样的请求获取此文件:myapp.appspot.com/getfile?file_name=file.txt
我只想在 url.
上查看文件 file.txt
如果您使用 Blobstore,则必须记住某处的密钥才能检索 blob。
如果您使用 Blobstore 将文件存储在 Cloud Storage 中,那么您可以使用对象名称访问它们,对象名称可以是上传文件的原始名称。
如果你的文件是public,你可以直接访问它:
https://storage.googleapis.com/" + bucket + "/" + objectName
如果您想先在您的应用程序中阅读,然后 return 给客户端,那么您可以使用:
String filename = "/gs/" + bucket + "/" + objectName;
BlobstoreService blobService = BlobstoreServiceFactory.getBlobstoreService();
blobService.serve(blobService.createGsBlobKey(filename), response);
假设我有一些文件上传表单,比如文档中的那个 https://cloud.google.com/appengine/docs/java/blobstore/
如果我将文件 file.txt
保存到 blobstore,如果我不知道它是 BlobKey
,我该如何从中获取它。更准确地说,我想通过这样的请求获取此文件:myapp.appspot.com/getfile?file_name=file.txt
我只想在 url.
file.txt
如果您使用 Blobstore,则必须记住某处的密钥才能检索 blob。
如果您使用 Blobstore 将文件存储在 Cloud Storage 中,那么您可以使用对象名称访问它们,对象名称可以是上传文件的原始名称。
如果你的文件是public,你可以直接访问它:
https://storage.googleapis.com/" + bucket + "/" + objectName
如果您想先在您的应用程序中阅读,然后 return 给客户端,那么您可以使用:
String filename = "/gs/" + bucket + "/" + objectName;
BlobstoreService blobService = BlobstoreServiceFactory.getBlobstoreService();
blobService.serve(blobService.createGsBlobKey(filename), response);