英雄卡图像附件未加载

hero card image attachment not loading

我正在使用代码

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"

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

try to use the local folder @"~\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"))
}
};

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