Ошибка в части содержимого в книге xlsx

1. user1619761 18.04.24 14:30 Сейчас в теме
Добрый день. Пытаюсь отправить файл эксепь через телеграм, файл приходит, но при открытии появляется
"Ошибка в части содержимого в книге тест.xlsx. Выполнить попытку восстановления?"
Пробовал отправить пдф и текстовый файл - с ними ошибок нет. Пробовал разные эксель файлы отправлять - ошибка на всех. Подскажите, пожалуйста, что не так делаю?
СтрокаСоединения = "/bot" + Ключ + "/sendDocument";
		
		Boundary = "----"+Строка(Новый УникальныйИдентификатор());
		
		МассивФайловДляОбъединения = Новый Массив;
		
		ИмяФайлаОтправкиНачало = ПолучитьИмяВременногоФайла("xlsx");
		ФайлОтправкиНачало = Новый ЗаписьТекста(ИмяФайлаОтправкиНачало, КодировкаТекста.UTF8);
		
		ИмяФайлаОтправкиКонец = ПолучитьИмяВременногоФайла("xlsx");
		ФайлаОтправкиКонец = Новый ЗаписьТекста(ИмяФайлаОтправкиКонец, КодировкаТекста.UTF8);
		
		ТекстДляОтправки = "";
		
		ТекстДляОтправки = ТекстДляОтправки + "--"+Boundary + Символы.ПС;    
		ТекстДляОтправки = ТекстДляОтправки + "Content-Disposition: form-data; name=""chat_id""" + Символы.ПС + Символы.ПС;    
		ТекстДляОтправки = ТекстДляОтправки + ЧатID + Символы.ПС;
		
		ТекстДляОтправки = ТекстДляОтправки + "--" + Boundary + Символы.ПС;    
		ТекстДляОтправки = ТекстДляОтправки + "Content-Disposition: form-data; name=""document""; filename=" + ИмяФайла + Символы.ПС;    
		
		ФайлОтправкиНачало.ЗаписатьСтроку(ТекстДляОтправки);
		ФайлОтправкиНачало.Закрыть();
		МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправкиНачало);
		
		МассивФайловДляОбъединения.Добавить(СокрЛП(ПутьКФайлу));
		
		ТекстДляОтправки = "" + Символы.ПС;
		ТекстДляОтправки = ТекстДляОтправки + "--" + Boundary + "--";
		ФайлаОтправкиКонец.ЗаписатьСтроку(ТекстДляОтправки);
		ФайлаОтправкиКонец.Закрыть();
		МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправкиКонец);
		
		
		ИмяФайлаОтправки = ПолучитьИмяВременногоФайла("xlsx");
		ОбъединитьФайлы(МассивФайловДляОбъединения, ИмяФайлаОтправки);
		
		HTTPЗапрос = Новый HTTPЗапрос;
		Заголовки = Новый Соответствие;
		
		HTTPЗапрос.Заголовки.Вставить("Connection", "keep-alive");
		HTTPЗапрос.Заголовки.Вставить("Content-Type", "multipart/form-data; boundary=" + Boundary);
		
		HTTPЗапрос.УстановитьИмяФайлаТела(ИмяФайлаОтправки);    
		HTTPЗапрос.АдресРесурса = СтрокаСоединения;
		
		ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
		HTTPСоединение = Новый HTTPСоединение("api.telegram.org",443,,,,,Новый ЗащищенноеСоединениеOpenSSL());
		
		Попытка
			ОтветHTTP = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
		Исключение
			Сообщить(ОписаниеОшибки());
		КонецПопытки;
Показать
По теме из базы знаний
Найденные решения
3. user1880116 18.04.24 22:04 Сейчас в теме
(1) Вот здесь есть пример формирования multipart сообщения с двоичными файлами внутри. Пример там для http ответа, для запроса переделаешь сам, всё весьма похоже.
user1619761; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. user1880116 18.04.24 22:04 Сейчас в теме
(1) Вот здесь есть пример формирования multipart сообщения с двоичными файлами внутри. Пример там для http ответа, для запроса переделаешь сам, всё весьма похоже.
user1619761; +1 Ответить
4. user1619761 19.04.24 15:34 Сейчас в теме
2. booksfill 18.04.24 17:31 Сейчас в теме
А как вы поняли, что отправляете файл именно в формате excel?
Это как-то сам робот умеет преобразовывать текстовый файл в нужный формат?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот