Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Передача изображения на сервер MyDrop , multipart/form-data          
Multilobster Подменю пользователя
сообщение 01.09.22, 12:15
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 1 раз
Рейтинг: 1

Привет.

Бьюсь на задачей передачи изображения. Перепробовал разные методы, но сервер все все упирается: {"message":"The browser (or proxy) sent a request that this server could not understand."} Подозреваю, что проблема в том, что в теле запроса помимо двоичных данных не указан ключ "file". Подскажите, кто знает, как это сделать?

Вот рекоммендации техподдержки сайта:



Цитата
POST-запрос на [необходимо зарегистрироваться для просмотра ссылки]
тело запроса на скриншоте. т.е. ключ в форме называется file, а в значение передаётся бинарное значение фотки


разделитель = "test";
    ФайлОтвета = КаталогВременныхФайлов()+ "\answer.txt";
    
    потоквпамяти = новый потоквпамяти();
    записьданных = новый записьданных(потоквпамяти);
    
    ДвоичныеДанные = Новый ДвоичныеДанные("C:\pics\797-BILA-779-B.jpg");
    
    записьданных.Записатьстроку("--"+разделитель);
    записьданных.Записать("file: ");
    записьданных.Записать(ДвоичныеДанные);
    записьданных.Записатьстроку("");
    
    записьданных.Записатьстроку("--"+разделитель+"--");
    записьданных.Закрыть();
    
    телозапроса = потоквпамяти.ЗакрытьИПолучитьДвоичныеДанные();
    
    Соединение = Новый HTTPСоединение("backend.mydrop.com.ua",,,,,,Новый ЗащищенноеСоединениеOpenSSL());
    
    Запрос = Новый HTTPЗапрос("/vendor/products/upload");

    Запрос.Заголовки.Вставить("X-API-KEY", "ххх");
    Запрос.Заголовки.Вставить("Content-Type", "multipart/form-data; boundary=" + разделитель);
    
    запрос.УстановитьТелоИзДвоичныхДанных(телозапроса);
    
    Ответ = Соединение.ОтправитьДляОбработки(Запрос, ФайлОтвета);


Сообщение отредактировал Vofka - 01.09.22, 13:35

andr_andrey Подменю пользователя
сообщение 05.09.22, 17:20
Сообщение #2

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 623
Спасибо сказали: 166 раз
Рейтинг: 130.8

Multilobster @ 01.09.22, 13:15 * ,
Рекомендую поставить Fiddler и подсмотреть корректные передачи через браузер.
В свое время так изучал хотелки веб-сервиса промышленного контроллера Siemens.


Signature
#define private public
enum BOOL { FALSE, TRUE, FILENOTFOUND } is made my day

mut Подменю пользователя
сообщение 12.09.22, 23:30
Сообщение #3

Завсегдатай
****
Группа: Пользователи
Сообщений: 199
Из: Новая Каховка
Спасибо сказали: 203 раз
Рейтинг: 237.5

А я передаю как текст. Летает в обе стороны отлично и какой тип файла уже не имеет значения. Файл - Двоичные данные - Base64 Строка. Передаю картинки и pdf.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 12:00
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!