Версия для печати темы (https://pro1c.org.ua/index.php?s=3955f7823ee8fcfc19f5d2dc151f9edc&showtopic=67069)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Передача изображения на сервер MyDrop

Автор: Multilobster 01.09.22, 12:15

Привет.

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

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



Цитата
POST-запрос на https://pro1c.org.ua/redirect.php?https://backend.mydrop.com.ua/vendor/products/upload
тело запроса на скриншоте. т.е. ключ в форме называется 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=" + разделитель);
    
    запрос.УстановитьТелоИзДвоичныхДанных(телозапроса);
    
    Ответ = Соединение.ОтправитьДляОбработки(Запрос, ФайлОтвета);

Автор: andr_andrey 05.09.22, 17:20

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

Автор: mut 12.09.22, 23:30

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

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua