Я хотел бы отправить файл PDF с использованием bot-framework на канал Skype.Аналогично тому, как это делается на телеграмме. Bot Framework: отправьте pdf-файл на Telegram .Я действительно изо всех сил пытаюсь найти полезную документацию по использованию канала Skype с bot-framework.CardAttachments не работают, даже если они скоро появятся два года назад.Как и в примере с Telegram, у меня есть pdf в виде строки base64.Я не могу использовать ссылку, так как pdf генерируется из входных данных пользователя.
Так я отправляю изображения.Я предполагаю, что это что-то похожее.
var cardAttachment = new Attachment()
{
ContentUrl = "https://my.url/file.png",
ContentType = "image/png",
Name = "filename.png",
};
var reply = turnContext.Activity.CreateReply();
reply.Attachments = new List<Attachment>() { cardAttachment };
reply.Text = "Some useful text to go along with the image.";
await turnContext.SendActivityAsync(reply, cancellationToken);
Я пытался
var values = new Dictionary<string, string>();
...
var content = new FormUrlEncodedContent(values);
var response = await Client.PostAsync(@"https://my.url/report.php", content);
var report = await response.Content.ReadAsByteArrayAsync();
var cardAttachment = new Attachment()
{
ContentUrl = "data:application/pdf;base64," + Convert.ToBase64String(report),
ContentType = "application/pdf",
Name = $"{answers.Name}.pdf",
};
var reply = turnContext.Activity.CreateReply();
reply.Attachments = new List<Attachment>() { cardAttachment };
reply.Text = $"{answers.Name} here is your report.";
await turnContext.SendActivityAsync(reply, cancellationToken);
Кажется, это близко, но совершенно верно.
Обновление :Хотя Skype запрещает вам отправлять PDF-файлы в виде вложений в любой форме (ссылки, локальный файл или Base64Strings) , вы можете отправлять их в виде ссылок , просто вставив ссылку в текст.Похоже, вы можете отправлять ссылки и локальные файлы в WebChat. Отправка сообщения с ответом Bot с вложением с использованием Bot Framework содержит множество примеров различных подходов.