Передача файлов между ботом (конечной точкой приложения) и пользователем-клиентом в UCMA - PullRequest
0 голосов
/ 13 июля 2020

У меня есть бот UCMA (конечная точка приложения), и я хочу передать файл между ботом и пользователем. Я просмотрел множество форумов следующим образом:

1. Link1 говорит: UCMA 3.0 не поддержка функции передачи файлов.

2. Link2 говорит: UCMA может работать с функцией передачи файлов, но не знает версию UCMA

Link2 Следуйте инструкциям на этот сайт . Я следую ему, но не могу достичь своей цели.

Что я делаю:

  1. добавляю ключ «Коммуникатор» в HKEY_CURRENT_USER \ Software \ Policies \ Microsoft
  2. добавить ключ «AllowUnencryptedFileTransfer» в HKEY_CURRENT_USER \ Software \ Policies \ Microsoft \ Communicator и установить значение = 1 (DWORD / Hexademical)

Какая у меня серверная среда:

  1. Win Server 2016
  2. Skype для бизнеса 2019
  3. SDK UCMA 6.0

Вот мой код:

private void InstantMessagingFlow_MessageReceived(object sender, InstantMessageReceivedEventArgs e)
{
    InstantMessagingFlow instantMessagingFlow = (InstantMessagingFlow)sender;

    //SendReply(instantMessagingFlow, new ReplyMessage(e.Sender.DisplayName + " said: " + e.TextBody));

    ContentType mimeType = new ContentType("text/x-msmsgsinvite; charset=UTF-8");
    mimeType.CharSet = "UTF-8";
    StringBuilder sb = new StringBuilder();
    sb.Append("Application-Name: File Transfer\r\n");
    sb.Append("Application-GUID: {5D3E02AB-6190-11d3-BBBB-00C04F795683}\r\n");
    sb.Append("Invitation-Command: INVITE\r\n");
    sb.Append("Invitation-Cookie: 12345\r\n");
    sb.Append("Application-File: FileTest\r\n");
    sb.Append("Application-FileSize: 100\r\n");
    sb.Append("Connectivity: N\r\n");
    sb.Append("Encryption: R\r\n");

    string s = sb.ToString();

    byte[] htmlBytes = Encoding.UTF8.GetBytes(s);

    instantMessagingFlow.BeginSendInstantMessage(mimeType, htmlBytes, result =>
    {
        instantMessagingFlow.EndSendInstantMessage(result);
    }, instantMessagingFlow);
}
...