我正在创建使用本地图像的英雄卡,我在本地使用模拟器时让它们正常工作,但在发布到azure之后无法使其工作。我试图将图像转换为base64以使用它。
List<CardImage> cardImages = new List<CardImage>
{
new CardImage(url: ImageToBase64(thisService.Type.ToString()))
};
(...)
HeroCard plCard = new HeroCard()
{
Title = $"{titles[thisService.Type.ToString()]}",
Subtitle = $"Serviço {thisService.Frequency.ToString()} agendado para {thisService.Date.ToLongDateString()} às {thisService.Date.ToShortTimeString()}.",
Images = cardImages,
Buttons = cardButtons
};
(...)
public static string ImageToBase64(string imageName)
{
var path = HostingEnvironment.MapPath($"/Resources/Images/{imageName}.PNG");
Byte[] bytes = File.ReadAllBytes(path);
string base64String = Convert.ToBase64String(bytes);
return "data:image/png;base64," + base64String;
}
azure门户网站上显示的错误如下:
{"error":{"message":"(#100) name_placeholder[elements][0][image_url] should represent a valid URL","type":"OAuthException","code":100,"fbtrace_id":"BLoacoRFVy7"}}
这可能吗?
答案 0 :(得分:3)
看起来您正在尝试使用仅支持托管图像的Facebook频道。如果您使用的是Azure,则可以使用blobstorage托管图像并使用此公共链接显示图像。但是,任何托管图像都可以使用。