英雄卡图像附件未加载

时间:2018-03-18 12:18:30

标签: c# botframework attachment

我正在使用代码

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"

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

2 个答案:

答案 0 :(得分: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"))
}
};

答案 1 :(得分:0)

下面的代码可用于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

的更多示例