我要求机器人将文件作为可下载的文件发送给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。
答案 0 :(得分:1)
此时skype机器人不支持发送这样的PDF。我也遇到了这个问题,这是我从Skype团队得到的回复。 “出于安全考虑,Skype中的机器人只能发送媒体附件(视频,音频),并发送有潜在危险的文件。”
您的后续问题是否尝试过降价? [text](https://example.com)
?