如何将背景图像添加到自适应卡片机器人框架

Posted

技术标签:

【中文标题】如何将背景图像添加到自适应卡片机器人框架【英文标题】:How to add Background image to adaptive card bot framework 【发布时间】:2019-12-02 11:49:20 【问题描述】:

我正在尝试将背景图片添加到自适应卡片中。目前我正在使用自适应卡版本 1.2 ,我已将图像添加到项目内的文件夹中。但我收到了Could not determine JSON object type for type AdaptiveCards.AdaptiveBackgroundImage 异常。

 Uri uri = new System.Uri(@"~\Images\AdaptiveCard_Background.png",UriKind.Relative);
 card.Add(new AdaptiveBackgroundImage() 
 
    Url = uri
 );

请帮我解决这个问题

【问题讨论】:

看看***.com/a/56080616/10708483 【参考方案1】:

在您的自适应卡片中,您可以添加一个字段“backgroundImage”:

类似这样的:


"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"backgroundImage":"https://i.pinimg.com/originals/e1/a9/a0/e1a9a0fa5a6d08336e32218f41ab4957.jpg",
"body":[
    // your adaptive card body here
    ],
"actions":[
    // your adaptive card actions here
]

您可以在此处找到更多自适应卡片示例:https://adaptivecards.io/samples 希望对您有所帮助。

【讨论】:

您可以查看我发布的问题。我一直在以类似的方式使用背景图像。但这对我不起作用。【参考方案2】:

经过一番研究,我发现对于 V4 解决方案,我们需要将图像添加到 wwwroot 文件夹内的子文件夹中。在 appsettings.json 文件中,我们需要提及我们托管文件的 URL。如果我们在本地运行它,那么我们需要提及本地模拟器 URL。使用IConfiguration获取网址

card.BackgroundImage = new Uri(configuration["BaseURI"] + "Images/BlueBackground.png");

希望这可以帮助其他尝试在卡片中使用图像的人。

【讨论】:

以上是关于如何将背景图像添加到自适应卡片机器人框架的主要内容,如果未能解决你的问题,请参考以下文章

如何将自定义 json 转换为自适应卡片 json 格式

如何在不使用 redux 中间件的情况下禁用/隐藏自适应卡片/操作按钮?

[BotFramework]:如何在瀑布对话框中捕获/提取通过 C# 网络聊天机器人中呈现的自适应卡片提交的值?

microsoft botframework bot 如何在自适应卡片中提及用户?

我们可以动态添加文本字段吗

自适应卡片 js 渲染 - 不支持卡片