将 App Engine Datastore 中的 Blob 显示为图像

Posted

技术标签:

【中文标题】将 App Engine Datastore 中的 Blob 显示为图像【英文标题】:Displaying Blob from App Engine Datastore as an image 【发布时间】:2014-06-08 03:49:47 【问题描述】:

我有一个 App Engine Connected android 项目,所以我正在使用端点。我最终将 Android 项目中的位图转换为编码字符串以在我的 setter 中使用,我将此字符串转换回字节数组,然后转换为 Blob,然后将 Blob 持久化到数据存储区。我知道何时检索此 Blob 并将其显示为应用引擎前端的实际图像。我怎样才能做到这一点?我是个初学者,尤其是在使用 Blob 方面。

【问题讨论】:

【参考方案1】:

如official docs 中所述。

如果您提供图片,则更高效且可能 较便宜的方法是使用 App Engine 的 getServingUrl() 图片 API 而不是 blobstoreService.serve()。 getServingUrl 方法可以让您直接提供图像,而无需经过 您的 App Engine 实例。

所以基本上有一个你可以使用的 blobkey

ServingUrlOptions options = ServingUrlOptions.Builder
                .withBlobKey(blobKey);
        String url = imagesService.getServingUrl(options);

并将该图像作为由 Google 托管的“静态”内容访问,而无需通过您的服务器。

【讨论】:

以上是关于将 App Engine Datastore 中的 Blob 显示为图像的主要内容,如果未能解决你的问题,请参考以下文章

Google App Engine / Datastore / Flask / Python app 中的内存泄漏

Google App Engine 中的 Datastore 与 Cloud SQL

使用 grpc 和 cloud-datastore 时如何修复 App Engine Flex 中的 AttributeError?

App Engine Datastore Viewer,如何使用 GQL 显示记录数?

Google App Engine DataStore 文本 UTF-8 编码问题

探索Google App Engine背后的奥秘- Datastore的设计