java - 如何按名称从 BlobStore 读取文件

标签 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在此网址上。

最佳答案

如果您使用 Blobstore,则必须记住某处的 key 才能检索 Blob。

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

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

https://storage.googleapis.com/" + bucket + "/" + objectName

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

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

关于java - 如何按名称从 BlobStore 读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34252699/

相关文章:

java - Google App Engine Blobstore 和 ReSTLet - "Must be called from a blob upload callback request"

jquery - Google 应用引擎 Blobstore 上传 URL 过期

java - GAE : Python and Java services together under same App ID

google-app-engine - 谷歌云Sql二代Ut​​f8Mb4编码

java - 解析更新对象而不更改updatedAt

java - 如何停止编辑 Jtree 的选定节点的鼠标单击事件

python - Python 的 Google App Engine utf-8 编码问题

Excel Power Query - 是否可以使用 SAS 身份验证或 Azure AD 帐户连接到 Azure Blob 存储

java - 在 for 循环之外访问数组索引

java - java中的JSON字符串解析