【问题标题】:hero card image attachment not loading英雄卡图片附件未加载
【发布时间】:2018-03-18 12:18:30
【问题描述】:

我正在使用代码

private static Attachment HeroCard() {
   var hc = new HeroCard {
      Images=new List<CardImage> {
         new CardImage(@"C:\Users\.....\imgs\testImage.jpg") }
      };
    return hc.ToAttachment();
}

在英雄卡的附件中加载图像。这工作正常,但如果 我尝试使用本地文件夹而不是 e.x

@"~\imgs\testImage.jpg"

图片加载失败。我尝试过不同的其他格式 没有成功的道路。我错过了什么?

【问题讨论】:

    标签: c# botframework attachment


    【解决方案1】:

    尝试使用本地文件夹@"~\imgs\testImage.jpg"

    您的图像文件似乎存储在您的项目imgs 文件夹中,您想将图像发送给客户端。您可以尝试使用System.Web.HttpContext.Current.Server.MapPath 来读取 MapPath。以下代码适用于我,请参考。

    var hc = new HeroCard
    {
        Images = new List<CardImage> {
        new CardImage(System.Web.HttpContext.Current.Server.MapPath(@"~\imgs\testImage.jpg"))
    }
    };
    

    【讨论】:

    • 不知道这个。图片正在加载中,谢谢。
    【解决方案2】:

    下面的代码适用于 MS Bot Framework SDK v4

    var imagePath = Path.Combine(Environment.CurrentDirectory, @"Resources\testImage.png");
    var imageData = Convert.ToBase64String(File.ReadAllBytes(imagePath));
    
    var heroCard = new ThumbnailCard
    {
        Images = new List<CardImage> { new CardImage($"data:image/png;base64,{imageData}") },
    };
    

    您可以找到更多关于使用附件here的示例

    【讨论】:

    • 谢谢这解决了我的问题。我只是在使用:Images = new List&lt;CardImage&gt; { new CardImage(imageData) },想知道为什么这不起作用。
    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-30
    • 2023-01-08
    • 2016-07-30
    • 2021-09-06
    • 1970-01-01
    相关资源
    最近更新 更多