microsoft / botbuilder-dotnet

Welcome to the Bot Framework SDK for .NET repository, which is the home for the libraries and packages that enable developers to build sophisticated bot applications using .NET.
https://github.com/Microsoft/botframework
MIT License
872 stars 481 forks source link

An image in CardAction does not show the image in Microsoft Teams when it is provided as a Base64 string #6854

Open rliberoff opened 1 month ago

rliberoff commented 1 month ago

Version

4.22.7

Describe the bug

For Microsoft Teams, when creating a CardAction, the Image property does not accepts a base64 string representing the image. It force us to use an URL to a public image.

The code does not throws any error or exception, but the image information is just ignored.

To Reproduce

Use the following code:

    messageActivity.Attachments.Add(new Attachment
    {
        ContentType = OAuthCard.ContentType,
        Content = new OAuthCard
        {
            Text = settings.Text,
            ConnectionName = settings.ConnectionName,
            Buttons = new[]
            {
                new CardAction
                {
                    Title = "The title",
                    Text = "The text",
                    Image = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." // Truncated
                    Type = ActionTypes.OpenUrl,
                },
            },
            TokenExchangeResource = signInResource.TokenExchangeResource,
            TokenPostResource = signInResource.TokenPostResource,
        },
    });

Expected behavior

In Microsoft Temas, the image provided as base64 string in the Image property should appear.

tracyboehrer commented 1 month ago

@rliberoff We'll ping Teams on this. Pretty sure WebChat also doesn't handle this. Definitely not an SDK issue though.