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 - 关于在 GAE 上实现 "inverse document frequency"的建议?

android - GCM HTTP 错误 401 : Unauthorized

python - 使用 Blobstore API 和 Images API 在 GAE 中直接从 GCS 提供图像

java - 使用 Spring Data Cassandra 进行直播(响应式(Reactive))

java - 如何将数据从 JSF 传递到 Java Applet

c# - 需要我已经拥有的 Objective-C 版本的 Java 加密和 Base 64 编码

python - 尽管文件显示在存储桶中,但 Blobstore 上传的 get_uploads 返回空列表

Java 类转换异常 java.awt.geom.Path2D.Double

python - 如何获取ndb.Model的 "id"属性

python - 使用 blobstore 处理程序获取上传文件的链接