#c# #networking #telegram #cyrillic
#c# #сетевой #телеграмма #кириллица
Вопрос:
Я пытаюсь отправить аудио в telegram, в названии которого есть кириллица. Аудио успешно отправлено, код для отправки приведен ниже:
public void SendAudio (string filePath) { ... EWXRequestBuilder builder = new EWXRequestBuilder(_tapi _telegramToken) .SetMethod("sendAudio") .AddParameter("chat_id", lPeer) .AddParameter("audio", string.Empty); string url = builder.BuildRequest(); using (var form = new MultipartFormDataContent()) { using (FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { form.Add(new StreamContent(fileStream), "audio", Path.GetFileName(filePath)); using (var client = new HttpClient()) { rawResponse = client.PostAsync(builder.BuildRequest(), form).Result.ToString(); } } } }
Он успешно передается, но в том случае, когда звуковое название содержит кириллицу. В одном случае имя может быть правильно отображено в телеграмме, в другом случае-нет.
В хорошем случае это выглядит как «Дерзота — Стой не глупи» без .mp3, это хорошо. Но в плохом случае это может выглядеть как «= utf-8 B 0KDQvtC6LdC 0….»
Я не могу понять, почему это происходит.
Комментарии:
1. Спасибо, ребята. У меня есть решение самостоятельно. Telegram использует метаданные ID3 и имя файла, если мета пуста.