python - 如何将 .png 文件从我的 python 应用程序发送到 google dialogflow webhook
问题描述
我正在为 COVID-19 数据构建一个谷歌对话流聊天机器人。我创建了一个调用 webhook 服务的意图。该服务是一个 python 烧瓶应用程序,它正在收集数据并处理数据。我的用例是用户将询问某个地区的详细信息。我正在我的烧瓶应用程序中创建一个图像(.png 文件)。但是我怎样才能将它返回到对话框流呢?到目前为止,它接受具有公共 URL 的图像。但就我而言,我没有公共 URL。每个图像本质上都是基于用户输入的动态图像。谁能帮助我如何实现这一目标?任何帮助表示赞赏。让我知道任何细节。
解决方案
您需要您的后端(另一个应用程序或同一 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
(或其他合适的类型)。
上面的示例可能取决于您使用的渠道(浏览器?聊天应用程序?)和编程语言,但该方法在任何情况下都应该是有效的。
推荐阅读
- django - 在 Django 中正确设置自定义登录重定向
- web-applications - 如何允许一次性使用 Web 应用程序?
- r - arulesCBA 包中的分类
- vue.js - 添加到现有对象以使其具有反应性
- vite - 构建 vite 项目时出现分配给右值错误
- java - MySQL Workbench 没有“看到”来自 JDBC Java 程序的更新
- html - 我怎样才能使按钮宽度:当它在文本区域下方时为 100%
- r - 将 csv 文件读入 r 和循环内的函数,错误消息
- angular - Angular 依赖注入机制是如何工作的?
- python - glob.glob 不返回完全限定路径中的任何文件?