当前位置: 首页 > 知识库问答 >
问题:

Facebook如何从Google App Engine共享图像base64

郜玉石
2023-03-14

我正在与谷歌应用程序引擎项目合作,我希望像这样使用facebook共享。
http://i.stack.imgur.com/uz52n.png
我已经读过这篇文章,Facebook Sharer在分享我的URL时是如何选择图像和其他元数据的?
但是GAE不能上传物理图像,数据库中blob属性中的所有图像存储为base64,因此facebook共享无法获取图像:(有人对此问题有其他想法吗?)??

共有1个答案

夹谷承安
2023-03-14

Facebook读取og:image元来解析网页中的图像。og:image不允许数据URI映像(base64编码)。

您必须在og:image中提供一个图像url,但是使用该url,您可以创建一个变通方法来模拟直接图像分辨率的行为,并从appengine数据库中获取图像。

这是一个使用Django的python解决方案,但是这个概念适用于所有情况。图像的名称在这里是“key.png”,其中key是包含base64存储图像的对象的键。

首先,在django url列表中添加一个url,用于图像分辨率:

(r'^image/(?P<key>[^\.^/]+)\.png$', 'yourapp.views.image'),

然后在你的视图中,从url中获取密钥,检索你的对象,Base64解码并用正确的mimetype将其发送回来:

import base64

def image(request, key):
    # get your object from database
    f = YourImageObject.get(key)

    # f.pic is the base64 encoded image
    pic = f.pic[len("data:image/png;base64,"):]    # remove the header

    # base64 decode and respond with correct mimetype
    return HttpResponse(base64.b64decode(pic), mimetype="image/png")
 类似资料:
  • 我有我导出到数据uri图像的HTML画布。现在我想通过点击我页面上的自定义链接,在Facebook时间线上尽可能轻松地分享这张图片(无需创建FB应用程序和身份验证令牌)。 我试过这样的方法: 图像生成: 共享链接: 当我点击链接Safari我得到 如何通过Facebook共享者URL(或其他方式)轻松共享数据uri图像? 谢谢你的回答!

  • 问题内容: 我正在尝试使用UIActivityViewController与主题标签共享图像,并且在尝试共享到Twitter,Facebook和Instagram时遇到一些奇怪的行为。关于这些服务的共享扩展名的文档似乎很少。 方案1:具有带有图像和文本的活动项目数组的Init控制器 如果我这样初始化控制器,则Twitter和Facebook将显示在控制器中(没有Instagram,因为它不支持文本

  • 我使用这个代码,但它不能正常工作。 当我使用text类型时,它可以正常工作。 但是我想共享一个文本和一个图像。 而共享的意图在Facebook中不起作用。

  • 我正在使用ShareKit在Facebook上共享一条简单的文本。我使用cocoapods在我的应用程序上安装ShareKit(使用iOS7和XCode5),并遵循配置教程ConfigurationShareKit。更具体地说,我会做以下事情: 1) 将URL方案写入plist。 2) 创建DefaultShkConfiguration子类: 3)在AppServer ate中进行初始配置: 4)

  • 问题内容: 我的客户希望在Instagram,Twitter,Facebook上共享图像。 我已经完成了Twitter和Facebook,但是在互联网上找不到任何API或任何东西可以在Instagram上共享图像。 是否可以在Instagram上分享图片? 如果是,那怎么办? 当我检查Instagram的开发人员站点时,我发现了Ruby on Rails和Python库。但是没有iOS Sdk的文

  • 它已经开始工作了,但今天我很惊讶,当我尝试分享链接时,Facebook没有显示来自og:image meta-tag的图像。 从facebook调试器: 图像在哪里?