Что то странное происходит. Кодирую картинку в base64 стандартным методом:
Картинка = Новый Картинка(ВременныйФайлФото);
ФотоБазе64 = Base64Строка(Картинка.ПолучитьДвоичныеДанные());
ФотоБазе64 = СтрЗаменить(ФотоБазе64, Символы.ВК, "");
ФотоБазе64 = СтрЗаменить(ФотоБазе64, Символы.ПС, "");
//далее post запрос:
HTTPСоединение = Новый HTTPСоединение(СокрЛП(Адрес)+":"+СокрЛП(Порт));
запросPOST = Новый HTTPЗапрос("/face/create");
запросPOST.Заголовки.Вставить("Content-type", "application/x-www-form-urlencoded");
запросPOST.УстановитьТелоИзСтроки("pass="+СокрЛП(Пароль)+"&personId="+ТекИД_Терминал+"&faceId=&imgBase64="+ФотоБазе64);
Ответ = HTTPСоединение.ОтправитьДляОбработки(запросPOST);
Показать
Дак вот. При выполнении этого кода из 1С - ответ возвращает ошибку 4011 : Device received the image but transcoding failed.
Но при выполнении такого же запроса онлайн, например отсюда: http://seriyps.ru/postget/ - все происходит нормально, фотография загружается.
Строка base64 - читается онлайн декодером и декодируется в нужное фото.
(4) Да, вариант из (2) помог. Пол дня на это убил: и в base64 кодировал и запрос скриптами посылал - ничего не помогало. Оказывается вот в чем было дело, спасибо (2) еще раз!