1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-01-12 04:34:10 +02:00

Унификация приведения значения к двоичным данным

This commit is contained in:
Anton Titovets 2024-03-21 11:57:36 +03:00
parent 05ad7140e8
commit ec3d573e4a
6 changed files with 44 additions and 23 deletions

View File

@ -467,10 +467,7 @@
Если ЗначениеЗаполнено(Файл) Тогда Если ЗначениеЗаполнено(Файл) Тогда
Если ТипЗнч(Файл) <> Тип("ДвоичныеДанные") Тогда Файл = OPI_Инструменты.ПолучитьДвоичныеДанные(Файл);
Файл = Новый ДвоичныеДанные(Файл);
КонецЕсли;
СоответствиеФайла.Вставить(Файл, MIME); СоответствиеФайла.Вставить(Файл, MIME);
КонецЕсли; КонецЕсли;

View File

@ -855,7 +855,7 @@
Если Не ТипЗнч(Файл) = Тип("ДвоичныеДанные") Тогда Если Не ТипЗнч(Файл) = Тип("ДвоичныеДанные") Тогда
ТекущийФайл = Новый Файл(Файл); ТекущийФайл = Новый Файл(Файл);
Расширение = ?(Вид = "document" Или Вид = "animation", ТекущийФайл.Расширение, ""); Расширение = ?(Вид = "document" Или Вид = "animation", ТекущийФайл.Расширение, "");
Файл = Новый ДвоичныеДанные(Файл); Файл = OPI_Инструменты.ПолучитьДвоичныеДанные(Файл);
КонецЕсли; КонецЕсли;
Расширение = СтрЗаменить(Расширение, ".", "___"); Расширение = СтрЗаменить(Расширение, ".", "___");
@ -1008,7 +1008,7 @@
Для Каждого ТекущийФайл Из СоответствиеФайлов Цикл Для Каждого ТекущийФайл Из СоответствиеФайлов Цикл
Если Не ТипЗнч(ТекущийФайл.Ключ) = Тип("ДвоичныеДанные") Тогда Если Не ТипЗнч(ТекущийФайл.Ключ) = Тип("ДвоичныеДанные") Тогда
ДД = Новый ДвоичныеДанные(ТекущийФайл.Ключ); ДД = OPI_Инструменты.ПолучитьДвоичныеДанные(ТекущийФайл.Ключ);
ЭтотФайл = Новый Файл(ТекущийФайл.Ключ); ЭтотФайл = Новый Файл(ТекущийФайл.Ключ);
ИмяМедиа = ТекущийФайл.Значение + Строка(Счетчик) + ?(ТекущийФайл.Значение = "document", ИмяМедиа = ТекущийФайл.Значение + Строка(Счетчик) + ?(ТекущийФайл.Значение = "document",
ЭтотФайл.Расширение, ""); ЭтотФайл.Расширение, "");

View File

@ -303,12 +303,9 @@
КонецЕсли; КонецЕсли;
Для Каждого ФайлОтправки Из МассивФайлов Цикл Для Каждого ФайлОтправки Из МассивФайлов Цикл
Если Не ТипЗнч(ФайлОтправки) = Тип("ДвоичныеДанные") Тогда ФайлОтправки = OPI_Инструменты.ПолучитьДвоичныеДанные(ФайлОтправки);
ФайлОтправки = Новый ДвоичныеДанные(ФайлОтправки); IDМедиа = ЗагрузитьМедиафайл(ФайлОтправки, ТипВложений, Параметры_)[MIS];
КонецЕсли;
IDМедиа = ЗагрузитьМедиафайл(ФайлОтправки, ТипВложений, Параметры_)[MIS];
МассивМедиа.Добавить(IDМедиа); МассивМедиа.Добавить(IDМедиа);
КонецЦикла; КонецЦикла;
@ -340,10 +337,7 @@
СоответствиеMIME.Вставить("tweet_video", "video/mp4"); СоответствиеMIME.Вставить("tweet_video", "video/mp4");
СоответствиеMIME.Вставить("tweet_gif" , "image/gif"); СоответствиеMIME.Вставить("tweet_gif" , "image/gif");
Если Не ТипЗнч(Файл) = Тип("ДвоичныеДанные") Тогда Файл = OPI_Инструменты.ПолучитьДвоичныеДанные(Файл);
Файл = Новый ДвоичныеДанные(Файл);
КонецЕсли;
Параметры_ = ПолучитьСтандартныеПараметры(Параметры); Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
URL = "https://upload.twitter.com/1.1/media/upload.json"; URL = "https://upload.twitter.com/1.1/media/upload.json";
Размер = Файл.Размер(); Размер = Файл.Размер();

View File

@ -161,7 +161,7 @@
Если ТипЗнч(Картинка) = Тип("Строка") Тогда Если ТипЗнч(Картинка) = Тип("Строка") Тогда
Путь = Картинка; Путь = Картинка;
Картинка = Новый ДвоичныеДанные(Картинка); Картинка = OPI_Инструменты.ПолучитьДвоичныеДанные(Картинка);
Иначе Иначе
Путь = ("image.jpeg"); Путь = ("image.jpeg");
КонецЕсли; КонецЕсли;
@ -1452,7 +1452,7 @@
Если ТипЗнч(Картинка) = Тип("Строка") Тогда Если ТипЗнч(Картинка) = Тип("Строка") Тогда
КлючКартинка = СтрЗаменить(Картинка, ".", "___"); КлючКартинка = СтрЗаменить(Картинка, ".", "___");
ЗначениеКартинка = Новый ДвоичныеДанные(Картинка); ЗначениеКартинка = OPI_Инструменты.ПолучитьДвоичныеДанные(Картинка);
Иначе Иначе
КлючКартинка = "image___jpeg"; КлючКартинка = "image___jpeg";
ЗначениеКартинка = Картинка; ЗначениеКартинка = Картинка;

View File

@ -267,11 +267,7 @@
Заголовки = ЗаголовокАвторизации(Токен); Заголовки = ЗаголовокАвторизации(Токен);
Href = "href"; Href = "href";
Файл = OPI_Инструменты.ПолучитьДвоичныеДанные(Файл);
Если Не ТипЗнч(Файл) = Тип("ДвоичныеДанные") Тогда
Файл = Новый ДвоичныеДанные(Файл);
КонецЕсли;
Файл = Новый Структура("file", Файл); Файл = Новый Структура("file", Файл);
Параметры = Новый Структура; Параметры = Новый Структура;

View File

@ -267,6 +267,40 @@
КонецФункции КонецФункции
Функция ПолучитьДвоичныеДанные(Знач Значение) Экспорт
Попытка
Если ТипЗнч(Значение) <> Тип("ДвоичныеДанные") Тогда
Файл = Новый Файл(Значение);
Если Файл.Существует() Тогда
Возврат Новый ДвоичныеДанные(Значение);
Иначе
ИВФ = ПолучитьИмяВременногоФайла();
КопироватьФайл(Значение, ИВФ);
Двоичные = Новый ДвоичныеДанные(ИВФ);
УдалитьФайлы(ИВФ);
Возврат Двоичные;
КонецЕсли;
Иначе
Возврат Значение;
КонецЕсли;
Исключение
ВызватьИсключение "Ошибка получения данных файла из параметра";
КонецПопытки
КонецФункции
#КонецОбласти #КонецОбласти
#КонецОбласти #КонецОбласти