如何让用户单击以在浏览器C#BotFramework SDK3中打开CSV文件

时间:2018-08-30 11:02:25

标签: botframework

作为标题,我想让用户单击以在由Bot创建的浏览器中打开文件。我正在使用webChat。

代码是我尝试过的。 在botframework-emulator中,如果单击链接,则CSV文件将在浏览器中打开。

但是在网络聊天中,它将要求用户下载,而不是在浏览器中打开。

 var aaa = await GetCSVAttachmentAsync(replymes.ServiceUrl, replymes.Conversation.Id);
 foreach(var aa in aaa)
 replymes.Attachments.Add(aa);

 await context.PostAsync(replymes);




        private async Task<IList<Attachment>> GetCSVAttachmentAsync(string serviceUrl, string conversationId)
        {
            string str = "this is a text CSV";
            byte[] array = Encoding.GetEncoding("shift_jis").GetBytes(str);


            using (var connector = new ConnectorClient(new Uri(serviceUrl)))
            {
                var attachments = new Attachments(connector);
                var response = await attachments.Client.Conversations.UploadAttachmentAsync(
                    conversationId,
                    new AttachmentData
                    { 
                        Name = "userinfo.csv",
                        OriginalBase64 = array,
                        Type = "text/csv"

                    });


                message.Add(new Attachment
                {
                    Name = "userinfo.html",
                    ContentType = "text/html",
                    ContentUrl = response.Id
                });
                return message;

            }
        }

为解决此问题,我还尝试了storageV2。但是似乎无法直接访问URI。enter image description here

1 个答案:

答案 0 :(得分:0)

如果不创建真实文件,我仍然无法弄清楚。 但是,我可以不用解决存储V2的问题。想法如下。

  1. 让机器人创建文件。
  2. 使用静态网站将其上传到Storage V2
  3. 将静态网站发送给用户。