自适应卡 - 以字节为单位提供图像

2024-01-20

我正在尝试将图像放入 Bot 框架中的自适应卡中,如下所示:

card.Body.Add(new AdaptiveImage()
{
    Type = "Image",
    Url = new Uri(pictureUrl),
    Size = AdaptiveImageSize.Large
});

它正在发挥作用。问题出在 Url 上。我从外部 Web 服务获取 Base64 格式的图像。但有时我得到的图像太大,所以我得到The uri string is too long例外。

有什么办法可以解决这个问题吗?例如,启用将图像以字节为单位放入自适应卡中。


感谢您报告此问题。根本原因是 pictureUrl 比 .NET 的最大 Uri 长度长。是跟踪在这里修复这个问题 https://github.com/microsoft/AdaptiveCards/issues/2881.

有一个非常简单的解决方法可用,因为限制发生在您用来简单创作卡片的 .NET C# 库中,但 WebChat 不使用 C# 库来显示卡片(它使用 JS 库,并且 JS /HTML 没有长度限制!)。因此,在您的情况下唯一不起作用的是生成 JSON...但有一个简单的修复方法!

解决方法: 定义以下类,扩展AdaptiveImage,添加一个LongUrl属性(写入相同的urlJSON 中的属性)。

public class AdaptiveImageWithLongUrl : AdaptiveImage
{
    [JsonProperty(PropertyName = "url", Required = Required.Always)]
    public string LongUrl { get; set; }
}

Then,在分配长网址时使用新的图像类和新属性!

// A data URL that's longer than .NET max length
string actualUrl = "data:image/gif;base64," + string.Join("", new int[120000].Select(i => "A")) + "end";

AdaptiveCard card = new AdaptiveCard("1.0")
{
    Body =
    {
        new AdaptiveImageWithLongUrl()
        {
            LongUrl = actualUrl
        }
    }
};

// Place the JObject in the attachment!
var attachment = new Attachment()
{
    Content = card,
    ContentType = "application/vnd.microsoft.card.adaptive",
    Name = "cardName"
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自适应卡 - 以字节为单位提供图像 的相关文章

  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • std::vector 与 std::stack

    有什么区别std vector and std stack 显然 向量可以删除集合中的项目 尽管比列表慢得多 而堆栈被构建为仅后进先出的集合 然而 堆栈对于最终物品操作是否更快 它是链表还是动态重新分配的数组 我找不到关于堆栈的太多信息 但
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template

随机推荐

  • 在 Angular 2 中使用 React 组件

    我有一组 React 组件 我正在尝试在 Angular 2 应用程序中使用它们 这是我尝试使用的主要 React 组件 import React Component from react import createStore applyM
  • Church 风格核心中缺少类型变量会发生什么情况?

    这有点深奥 但令人抓狂 在回答中另一个问题 https stackoverflow com questions 7074322 haskell type system nuances 我注意到在这个完全有效的程序中 poo String g
  • 如何将(鼠标)事件“转发”到kineticjs中较低Zindex上的节点/形状

    我正在使用kineticjs 其中有一个包含一层的舞台 该层上有多个形状 它们对鼠标悬停事件做出反应 它们显示工具提示 除了这些形状之外 我还有一些位于较高 ZIndex 上的文本节点 因此它们位于形状上方 这一切都工作正常 但有一个例外
  • 如何在 firebase 托管上使用 node.js 处理根路径请求?

    我正在使用 firebase 托管 功能开发网络系统 尽管在 firebase json 上指定了重写规则 路由的一部分不起作用 root functions index js routes index js views index jad
  • 更新标记位置 Google 地图 V3

    我对 javascript 东西还是个新手 目前正在假装它 直到我成功了 哈哈 现在我遇到了一座小山 我正在努力克服它 S 目前 我的脚本查找用户位置并向地图添加图钉 同时将 LatLon 复制到某些表单字段 除了放大用户位置之外 我希望他
  • 无法在 Android Studio 0.2.5 上“制作项目”Android Maven

    我正在尝试在 Android Studio 0 2 5 上构建 Android Maven 项目当我使用命令行构建时没问题 mvn clean install 但是 当按 Android Studio 工具栏上的 make project
  • 为什么当shared_ptr调用派生和基析构函数时,unique_ptr只调用基析构函数? [复制]

    这个问题在这里已经有答案了 为什么以下代码的输出会根据我是否使用shared ptr or unique ptr 的输出shared ptr这是有道理的 因为该对象已完全被破坏 而在unique ptr 只有基类部分被破坏 我以为当我使用智
  • Android:通过视频动态模糊表面

    我正在构建一个 Android 应用程序 其中 ExoPlayer 在 SurfaceView 的表面上播放视频 并且我正在研究是否可以动态模糊播放的视频 涉及首先生成要模糊的视图位图的模糊技术将不起作用 因为 SurfaceView 的表
  • WIX 安装程序未正确显示 WixUI 对话框的自定义图像

    In my WIX我正在使用自定义安装程序WixUIDialogBmp安装人员的图像Welcome and Completion页 但如下图所示 图像无法正确显示 我正在尝试遵循这个官方文档 http wixtoolset org docu
  • 解决这个分配珠子难题的算法?

    假设你有一个圆圈 如下所示 N点 并且你有N珠子分布在槽中 Here s an example 每个珠子都可以顺时针移动X插槽 这需要花费X 2美元 您的目标是最终在每个槽中获得一颗珠子 完成这项任务至少需要花多少钱 这个问题更有趣的变体
  • 加载后获取 Highcharts 系列数据

    我试图在调用 Highcharts 图表并将其加载到页面后获取系列数据 到目前为止 我只成功地获得了一堆字符串 这显然不是我想要的 不知道是否有人可以帮助我解决这个问题 jQuery 代码 success function chartDat
  • Spring AOP 创建额外的 bean

    我正在玩Spring AOP 这是一个简单的类 public class CModel extends Car private double torqueMeasure 1 public CModel System out println
  • 如何使用 kubernetes python 客户端排空节点?

    我正在尝试使用官方的 kubernetes 工作节点自动化kubernetes python 客户端 https github com kubernetes incubator client python 我目前正在寻找一种方法安全地将所有
  • Jena Fuseki 服务器命令未找到

    我是 Jena Fuseki 服务器的新手 根据链接http jena apache org documentation serving data index html http jena apache org documentation
  • 如何在 jenkins 上使用 ant 从 .product 构建 eclipse rcp 应用程序

    我想构建一个 Eclipse RCP 应用程序 我有一个产品配置文件和一个带有许多第三方插件的目标平台 从 Eclipse IDE 的导出工作完美无缺 但这很难说是专业的 所以我也想让它在詹金斯上工作 构建服务器从 SVN 获取文件 没有
  • matlab/octave - 广义矩阵乘法

    我想做一个函数来概括矩阵乘法 基本上 它应该能够执行标准矩阵乘法 但它应该允许通过任何其他函数更改两个二元运算符的乘积 和 目标是在 CPU 和内存方面尽可能高效 当然 它的效率总是低于 A B 但操作员的灵活性是这里的重点 这是我阅读后可
  • `this.some_property` 在匿名回调函数中变为未定义

    所以我不太明白为什么这个变量这个任务在我的目标对象内部的添加事件侦听器中变得未定义 我有一种感觉 它可能与异步编程有关 我仍然不完全理解 抱歉 我有点 JS 菜鸟 但是如果你们能向我解释我做错了什么以及什么可能是更好的解决方案 那就太棒了
  • 使用 Azure AD 多租户进行 Azure AD B2C 身份验证

    我已按照本文配置了 Azure AD 多租户身份验证 https learn microsoft com en us azure active directory b2c identity provider azure ad multi t
  • 如何刷新 iframe url?

    我正在使用 ionic 创建一个应用程序 其中使用 iframe 显示 URL 这是 HTML 代码 这是角度js scope iframeHeight window innerHeight document getElementById
  • 自适应卡 - 以字节为单位提供图像

    我正在尝试将图像放入 Bot 框架中的自适应卡中 如下所示 card Body Add new AdaptiveImage Type Image Url new Uri pictureUrl Size AdaptiveImageSize L