繁体   English   中英

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

[英]How to get the direct url of a binary file in the Google Blobstore?

我的应用程序生成二进制数据(压缩的 xml)并将其保存到 Google App Engine Blobstore。 我想返回一个公共的 URL,客户端可以使用它从任何地方访问这个二进制文件,而不需要通过 AppEngine 和我的 go 和我的 Java servlets。我知道可以使用ImagesService#getServingUr为图像获得这种 881657866602088,但是关于什么对于其他类型的文件?

我这样创建我的文件:

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

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

/blobstore/writable:a2c0noo4_LNQ0mS6wFdCMA

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

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

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

使用谷歌云存储文件 API。

云存储文档。

根据文档,blobstore 中的对象没有公共 URL。 您只能从您的应用程序通过 Blobstore API 访问它。 因此,如果您希望每个 blobstore 对象都有一个 URL,您必须为此创建自己的处理程序,这当然必须通过 AppEngine 和您的 Java servlets。

我认为ImagesService#getServingUrl不会为 blobstore 中的图像生成 Public URL。 URL 并没有真正直接指向您的 blobstore 数据。 它指向一个能够访问您的 blobstore 的图像服务,并通过其自身的高性能基础设施为您提供图像服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM