Post запрос. Передача картинки в формате base64. Не удалось декодировать фото.

1. ПодводныйТ 45 14.12.20 20:20 Сейчас в теме
Что то странное происходит. Кодирую картинку в 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="+ФотоБазе6­4);
Ответ = HTTPСоединение.ОтправитьДляОбработки(запросPOST);

Показать


Дак вот. При выполнении этого кода из 1С - ответ возвращает ошибку 4011 : Device received the image but transcoding failed.
Но при выполнении такого же запроса онлайн, например отсюда: http://seriyps.ru/postget/ - все происходит нормально, фотография загружается.
Строка base64 - читается онлайн декодером и декодируется в нужное фото.
Вознаграждение за ответ
Показать полностью
Найденные решения
2. Tiger77 69 14.12.20 21:12 Сейчас в теме +1 $m
(1)
Вместо

ФотоБазе64 = СтрЗаменить(ФотоБазе64, Символы.ВК, "");
ФотоБазе64 = СтрЗаменить(ФотоБазе64, Символы.ПС, "");


используйте

ФотоБазе64 = КодироватьСтроку(ФотоБазе64, СпособКодированияСтроки.КодировкаURL);
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Tiger77 69 14.12.20 21:12 Сейчас в теме +1 $m
(1)
Вместо

ФотоБазе64 = СтрЗаменить(ФотоБазе64, Символы.ВК, "");
ФотоБазе64 = СтрЗаменить(ФотоБазе64, Символы.ПС, "");


используйте

ФотоБазе64 = КодироватьСтроку(ФотоБазе64, СпособКодированияСтроки.КодировкаURL);
3. ПодводныйТ 45 14.12.20 21:31 Сейчас в теме
(2) Ого, похоже прокатило. Завтра гляну на терминале, но ответ возвращает, что все успешно. Спасибо большое!
4. UberElder 15.12.20 10:17 Сейчас в теме
(3) У меня такая же проблема была, удалось ее решить? Что у вас по итогу?
5. ПодводныйТ 45 15.12.20 13:19 Сейчас в теме
(4) Да, вариант из (2) помог. Пол дня на это убил: и в base64 кодировал и запрос скриптами посылал - ничего не помогало. Оказывается вот в чем было дело, спасибо (2) еще раз!
6. Tiger77 69 15.12.20 15:05 Сейчас в теме
Оставьте свое сообщение

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