无法将文件附件发送到Skype中文件位置的用户/超链接URL

时间:2018-03-07 15:51:31

标签: botframework attachment skype-bots

我要求机器人将文件作为可下载的文件发送给Skype中的用户。文件位于物理路径中。

以下是代码:

public async Task SelectedOptionAsync(IDialogContext context, IAwaitable<string> argument) 
{ 
 var message = await argument; 
 var replyMessage = context.MakeMessage(); 
 Attachment attachment = null; 
 attachment = GetLocalAttachment(); 
 replyMessage.Attachments = new List<Attachment> { attachment }; 
 await context.PostAsync(replyMessage); 
 await this.DisplayOptionsAsync(context); 
} 

private static Attachment GetLocalAttachment() 
{ 
 var Path = HttpContext.Current.Server.MapPath("~/images/demo.pdf"); 
 var pdfdata = Convert.ToBase64String(File.ReadAllBytes(Path)); 
 return new Attachment 
 { 
 Name = "demo.pdf", 
 ContentType = "application/pdf", 
 ContentUrl = $"data:application/pdf;base64,{pdfdata}" 
 }; 
}

在上面的代码中,我试图在Message附件中附加文件的内容。当我检查Skype频道时,它显示“MIME类型无效”

注意:这在模拟器中有效。我没有使用Skype for Business。此外,我知道此功能在Skype for Business中不起作用。

此外,我还需要将文件的位置作为超链接URL发送给用户。目前我们只能以字符串形式发送而不能作为URL发送。对于此功能,我们使用的是Hero Cards。

1 个答案:

答案 0 :(得分:1)

此时skype机器人不支持发送这样的PDF。我也遇到了这个问题,这是我从Skype团队得到的回复。 “出于安全考虑,Skype中的机器人只能发送媒体附件(视频,音频),并发送有潜在危险的文件。”

您的后续问题是否尝试过降价? [text](https://example.com)