c# - 如何使用 C# 在 Web 嵌入式 bot 中的 bot 框架中发送附件

标签 c# asp.net .net botframework bots

我想将 csv 文件附件发送给 bot 中的用户。我正在使用 Microsoft bot 框架 C# bot builder SDK,使用网络聊天 channel 。我通过以下方式向用户发送 csv 文件:

var csvPath = "D://ProjecteFile/Results.csv";
//Attachment attachment = new Attachment();
//attachment.ContentType = "text/csv";
//attachment.ContentUrl = csvPath;
//attachment.Name = "click this link to get server report";
//return attachment;

我也试过用英雄卡

var heroCard = new HeroCard {
    Title = "Click to download Report",
        Buttons = new List < CardAction > {
            new CardAction(ActionTypes.OpenUrl, "Get Started", value: "file://L-156222101/ProjectFile)")
        };

    return heroCard.ToAttachment();
}

我的机器人可以通过网络聊天向用户发送 csv 文件吗?

最佳答案

您可以使用英雄卡来实现这一目标。你的代码的问题是你没有指定文件名和位置,即如果你的文件名是 ProjectFile 那么按钮中的值必须包含 ProjectFile.csv

最好的方法是将文件添加到项目中的文件夹中,并在按钮中的 Card Action 值中添加引用。

例如:

    Attachment attachment = new HeroCard
    {
        Title = "Click to download Report",
        Buttons = new List<CardAction>()
        {
            new CardAction()
            {
                Title = "Get Started",
                Type = ActionTypes.OpenUrl,
                Value = "D:\\ProjecteFile\\Results.csv"
            }
         }
    }.ToAttachment();

    var reply = context.MakeMessage();
    reply.Attachments.Add(attachment);
    await context.PostAsync(reply);

关于c# - 如何使用 C# 在 Web 嵌入式 bot 中的 bot 框架中发送附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49489927/

相关文章:

c# - 同步 TableLayoutPanel

c# - 适用于小型企业应用程序的后端或数据库系统

c# - 沿圆形路径创建渐变画笔

c# - 流畅的 nhibernate、继承和使用派生列表类型

C# MySQL超时问题

c# - 如何将 EventListener 附加到另一个进程中的 EventSource?

c# - 访问/写入 EventLog 时出现问题

c# - 如何打印.aspx页面的一部分?

ASP.net 设计问题,如果在 HTTPS 上则强制重定向到 HTTP

c# - 为什么 WCF 流响应在写入磁盘时损坏?