diff --git a/OInt/core/Modules/OPI_Telegram.os b/OInt/core/Modules/OPI_Telegram.os index 8d96a76f7..9c2d92839 100644 --- a/OInt/core/Modules/OPI_Telegram.os +++ b/OInt/core/Modules/OPI_Telegram.os @@ -968,7 +968,7 @@ Если Не ТипЗнч(Файл) = Тип("ДвоичныеДанные") Тогда ТекущийФайл = Новый Файл(Файл); - Расширение = ?(Вид = "document" Или Вид = "animation", ТекущийФайл.Расширение, ""); + Расширение = ?(Вид = "document", ТекущийФайл.Расширение, Расширение); OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Файл); КонецЕсли; diff --git a/OInt/core/Modules/OPI_VK.os b/OInt/core/Modules/OPI_VK.os index c1c2b76f4..61baa6d0b 100644 --- a/OInt/core/Modules/OPI_VK.os +++ b/OInt/core/Modules/OPI_VK.os @@ -1709,7 +1709,7 @@ КонецФункции Функция ЗагрузитьФотоНаСервер(Знач Картинка, Знач Параметры, Знач Вид = "Пост") - + Метод = ОпределитьМетодЗагрузкиИзображений(Вид); Файлы = Новый Соответствие; @@ -1727,24 +1727,36 @@ Файлы.Вставить(КлючКартинка, Картинка); - Ответ = OPI_Инструменты.Get(Загрузка, Параметры); - Результат = Ответ[Response]; + Для Н = 1 По 5 Цикл + + Ответ = OPI_Инструменты.Get(Загрузка, Параметры); + Результат = Ответ[Response]; + + Если ЗначениеЗаполнено(Результат) Тогда + + URL = Результат["upload_url"]; + + Если Не ЗначениеЗаполнено(URL) Тогда + Возврат Ответ; + КонецЕсли; + + Иначе + Возврат Ответ; + КонецЕсли; + + Параметры.Вставить("upload_url", URL); + Ответ = OPI_Инструменты.PostMultipart(URL, Параметры, Файлы); + + Если ТипЗнч(Ответ) = Тип("Соответствие") Тогда + Прервать; + КонецЕсли; + + КонецЦикла; - Если ЗначениеЗаполнено(Результат) Тогда - - URL = Результат["upload_url"]; - - Если Не ЗначениеЗаполнено(URL) Тогда - Возврат Ответ; - КонецЕсли; - - Иначе - Возврат Ответ; + Если ТипЗнч(Ответ) <> Тип("Соответствие") Тогда + Возврат ПолучитьСтрокуИзДвоичныхДанных(Ответ); КонецЕсли; - - Параметры.Вставить("upload_url", URL); - - Ответ = OPI_Инструменты.PostMultipart(URL, Параметры, Файлы); + ЗаполнитьПараметрыЗагрузкиФото(Метод, Ответ, Параметры); Ответ = OPI_Инструменты.Get(Сохранение, Параметры);