首页 > 解决方案 > 如何将 .png 文件从我的 python 应用程序发送到 google dialogflow webhook

问题描述

我正在为 COVID-19 数据构建一个谷歌对话流聊天机器人。我创建了一个调用 webhook 服务的意图。该服务是一个 python 烧瓶应用程序,它正在收集数据并处理数据。我的用例是用户将询问某个地区的详细信息。我正在我的烧瓶应用程序中创建一个图像(.png 文件)。但是我怎样才能将它返回到对话框流呢?到目前为止,它接受具有公共 URL 的图像。但就我而言,我没有公共 URL。每个图像本质上都是基于用户输入的动态图像。谁能帮助我如何实现这一目标?任何帮助表示赞赏。让我知道任何细节。

标签: pythondialogflow-es-fulfillment

解决方案


您需要您的后端(另一个应用程序或同一 webhook 的另一个端点)提供图像,就好像它是标准下载一样。
例如,在 DialogFlow 中,您将配置自定义有效负载以显示图像

{
"metadata": {
"templateId": "11",
"contentType": "300",
"payload": [
  {
    "name": "Download",
    "action": {
      "type": "link",
      "url": "#avatar.avatarUrl",
      "openLinkInNewTab": "yes"
    }
  }
]
},
"platform": "kommunicate"
}

url#avatar.avatarUrl将是获取给定图像的 URL(即http://myserver/get/image0001):这是一个端点,它获取您想要的图像(基于您的逻辑和实现)并返回包含内容的流图像以及设置content-type=image/png(或其他合适的类型)。

上面的示例可能取决于您使用的渠道(浏览器?聊天应用程序?)和编程语言,但该方法在任何情况下都应该是有效的。


推荐阅读