java - 如何在 Google Blobstore 中获取二进制文件的直接 url?

标签 java google-app-engine blobstore

我的应用程序生成二进制数据(压缩的 xml)并将其保存到 Google App Engine Blobstore。我想返回一个公共(public) URL,客户端可以使用该 URL 从任何地方访问这个二进制文件,而无需通过 AppEngine 和我的 Java servlet。我知道可以使用 ImagesService#getServingUrl 获取此类图片的 URL , 但对于其他类型的文件呢?

我这样创建我的文件:

FileService#createNewBlobFile("application/octet-stream", "myfile.bin");

当我调用 AppEngineFile#getFullPath() 时,我得到如下信息:

/blobstore/writable:a2c0noo4_LNQ0mS6wFdCMA

我可以看到在我的开发文件系统中创建的文件具有不同的随机名称。它的网址是什么?

最佳答案

您可以为您的文件使用 Google Cloud Storage。

然后您可以为您的文件提供一个公共(public)云存储 URL,这将允许您的客户无需通过 AppEngine 即可下载它。您还可以使用许多不同的 ACL 方案来加强访问,它在文档中。

Using Google Cloud Storage with the Files API.

Cloud Storage Docs.

关于java - 如何在 Google Blobstore 中获取二进制文件的直接 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10050309/

相关文章:

java - 泛型的返回类型,何时使用 <T>returnType<T> 以及何时仅使用 returnType<T>?

python - 优化 Jinja2 环境创建

google-app-engine - 如何在 Google App Engine 数据存储中创建引用列表?

谷歌云存储的 Android 示例

java - 限制 blobstoreservice 在验证之前将文件存储在 GCS 中

javascript - 将 Blobstore Python API 与 ajax 结合使用

python - GAE : how can I combine a BlobstoreUploadHandler and a RequestHandler in 1 webpage

javax.xml.ws.Service 构造函数不返回

java - Jama 包,4x4 线性方程求解器

java - Android Activity ClassNotFoundException - 尝试了一切