C# 英雄卡图像附件未加载

C# 英雄卡图像附件未加载,c#,botframework,attachment,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(); } 图像无法加载。我已经尝试了不同的其他格式 这条路没有成功。我

我正在使用代码

private static Attachment HeroCard() {
   var hc = new HeroCard {
      Images=new List<CardImage> {
         new CardImage(@"C:\Users\.....\imgs\testImage.jpg") }
      };
    return hc.ToAttachment();
}
图像无法加载。我已经尝试了不同的其他格式 这条路没有成功。我错过了什么

尝试使用本地文件夹
@“~\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"))
}
};
var hc=新卡
{
图像=新列表{
新的CardImage(System.Web.HttpContext.Current.Server.MapPath(@“~\imgs\testImage.jpg”))
}
};

下面是MS Bot框架上的代码工作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}") },
};
var-imagePath=Path.Combine(Environment.CurrentDirectory,@“Resources\testImage.png”);
var imageData=Convert.ToBase64String(File.ReadAllBytes(imagePath));
var heroCard=新的拇指指甲卡
{
Images=newlist{newcardimage($“data:image/png;base64,{imageData}”)},
};

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

我不知道这一点。图像正在加载,谢谢。这解决了我的问题。我只是在使用:
Images=newlist{newcardimage(imageData)}
,想知道为什么这不起作用。
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}") },
};