Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Отправка xlsx через Telegram повреждает файл  (Прочитано 6862 раз)

Denis_ger

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Пытаюсь создать файл .xlsx, и отправить его через Telegram. Файл на клиенте создается корректно, его можно открыть. Однако с телеграм-бота этот файл приходит с кодированным (всегда одним и тем же) названием и файл поврежден. Если отправлять текстовые файлы - все работает. Полагаю дело в принудительной перекодировке любого файла в UTF-8, но как это отключить?
Как отправлять файлы .xlsx через Telegram?
Как заставить бота передавать файл с оригинальным названием?

Использую стандартный код для отправки файла (rep_filename - string):
Код: (delphi)
var
  aTelegram: TM_Telegram;

begin
  aTelegram := SendTelegram(rep_filename.value);  // создаем Telegram-сообщение
  aTelegram.AttachFile('D:\test\'+ rep_filename.value+'.xlsx');  // и прикрепляем файл
end;
« Изменён: 01 Февраля 2022, 20:16:03 от Simple_Scada »

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1400
    • Просмотр профиля
Re: Отправка xlsx через Telegram повреждает файл
« Ответ #1 : 02 Февраля 2022, 10:10:21 »
Здравствуйте.

Проверили, в Telegram есть проблема с отправкой файлов, в имени которых содержатся символы кириллицы. Сейчас для отправки файла в Telegram нужно использовать в именах файлов только латиницу, тогда отправка будет работать корректно. В следующем обновлении добавим исправление.
« Изменён: 02 Февраля 2022, 11:07:55 от Simple-Scada »

Denis_ger

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: Отправка xlsx через Telegram повреждает файл
« Ответ #2 : 02 Февраля 2022, 11:55:45 »
Убрал кирилицу из названия - помогло с названием файла. Но он все еще поврежден, даже если убрать кирилицу из содержимого.

Приложил в архиве 2 файла, тот что создается посредством "ReportBuild" и тот что приходит из телеграма.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: Отправка xlsx через Telegram повреждает файл
« Ответ #3 : 02 Февраля 2022, 12:05:34 »
В архиве "teleg_rep_test.rar" два абсолютно одинаковых файла (в них совпадает каждый байт). Оба файла корректно открываются через Excel.

Denis_ger

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: Отправка xlsx через Telegram повреждает файл
« Ответ #4 : 02 Февраля 2022, 14:36:14 »
Проверил. Вы правы, и это для меня еще более загадочно. После архивации файл каким то образом восстанавливается.
Прикладываю файл как он есть с телеграма

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: Отправка xlsx через Telegram повреждает файл
« Ответ #5 : 02 Февраля 2022, 16:09:12 »
Этот файл тоже открывается без ошибок на всех наших ПК. Каким ПО Вы открываете файл? В какой ОС? Какие-то ошибки при открытии выдаются? Если открываете в ОС Windows, то возможно есть стороннее ПО, которое препятствует открытию, либо есть какие-то проблемы с правами доступа к файлу, или папке в которой он расположен. Либо есть какие-то настройки в системе (или другом ПО), которые препятствуют открытию скачанных через интернет файлов.

Также, если Вы отправляете отчет на мобильные устройства, то возможно будет удобнее использовать формат PDF. В этом случае можно сразу отправить отчет через Telegram, без предварительного сохранения на диск. Пример скрипта можно посмотреть по ссылке.
« Изменён: 02 Февраля 2022, 16:23:30 от Simple_Scada »

Denis_ger

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: Отправка xlsx через Telegram повреждает файл
« Ответ #6 : 03 Февраля 2022, 11:25:04 »
Спасибо за помощь. Проблема, видимо, у меня с Экселем. Предпросмотр windows показывает содержимое, но Excel2013 ругается, что файл поврежден. После повторного отправления через любой сервис, открывает без проблем. Попробовал открыть файл с телеграма на другом компе с Excel2016 -- сразу открывается.
Вопрос решен.

Denis_ger

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: Отправка xlsx через Telegram повреждает файл
« Ответ #7 : 07 Августа 2023, 12:05:23 »
Вот это помогает с ошибкой поврежденного файла: