自适应卡在网络应用中不显示图像。

问题描述 投票:0回答:1

我使用的是dotNet sdk,所有的图片都存储在wwwrootImage文件夹中,即静态文件夹。所有的图片都存储在wwwrootImage文件夹中,即静态文件夹,当我通过模拟器运行机器人时,即在本地运行时,它显示了图片,但在发布应用程序后,图片没有显示出来,当我远程调试程序时,我得到了正确的图片路径。D:\home\site\wwwroot\wwwrootImage\pdf.jpg,这是正确的url,但是sill图片没有显示出来。

new AdaptiveColumn() {
    Width=AdaptiveColumnWidth.Auto,
    Items = new List<AdaptiveElement>()
    {
        new AdaptiveImage()
        {
            //Url = new Uri(iconUrl),
            Size = AdaptiveImageSize.Small,
            Style = AdaptiveImageStyle.Default,
            UrlString=iconUrl
        }
    }
},
c# .net-core botframework azure-bot-service adaptive-cards
1个回答
0
投票

任何以D这样的驱动器字母开头的位置都是本地路径,而不是远程URL。当您试图识别服务器上的资源时,您永远不应该使用本地路径,因为您的机器人正在与完全不同的机器上的客户端进行通信。

请熟悉本文档,以了解静态文件在.NET Core中是如何工作的。https:/docs.microsoft.comen-usaspnetcorefundamentalsstatic-files

一旦您的Web应用程序在服务器上运行,您将能够使用HTTPS访问图像。如果你是在本地运行机器人,那么URL应该看起来像是 http:/localhost:3978Imagepdf.jpg 如果机器人被部署,那么它应该看起来像 https:/rajatbot.azurewebsites.comImagepdf.jpg。. 将URL粘贴到浏览器中进行测试,以确保其工作,然后将URL放入你的卡中。

© www.soinside.com 2019 - 2024. All rights reserved.