Отправка файлов из 1с на Flask сервер

1. Attya 05.05.23 16:45 Сейчас в теме
Есть необходимость создать мобильное приложение, которое будет сканировать штрихкод, фотографировать и отправлять на Flask сервер.
На данный момент есть следующий код на 1с:
соединение = Новый HTTPСоединение("192.168.3.143", 5000);
запрос = новый HTTPЗапрос("/test_binary");
путьКФайлу = КаталогВременныхФайлов() + "/временный.txt";
данныеФайла = Новый ДвоичныеДанные(путьКФайлу);
    	
boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", "");

запрос.УстановитьТелоИзДвоичныхДанных(данныеФайла);
ответ = соединение.ВызватьHTTPМетод("POST", запрос);
Показать

Flask:
@app.route('/test_binary', methods=['POST'])
def test_binary():
    with open('test_binary.jpeg', 'wb') as f:
        f.write(request.get_data())
    
    return "Binary data received", 201

Данный код работает и сохраняет изображение. Но не понятно как добавить несколько других изображений и/или текст/текстовый файл. Пытался использовать метод УстановитьТелоИзСтроки
следующим образом:
соединение = Новый HTTPСоединение("192.168.3.143", 5000);
запрос = новый HTTPЗапрос("/test_binary");
путьКФайлу = КаталогВременныхФайлов() + "/временный.txt";
данныеФайла = Новый ДвоичныеДанные(путьКФайлу);
	
boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", "");
телоЗапроса = "";
телоЗапроса = телоЗапроса + "--" + boundary + Символы.ПС;
телоЗапроса = телоЗапроса + "Content-Disposition: multipart/form-data; name=""photo""; 
              filename=""Autumn.jpeg""" + Символы.ПС;
телоЗапроса = телоЗапроса + "Content-Type: image/jpeg" + Символы.ПС + Символы.ПС; 
телоЗапроса = телоЗапроса + данныеФайла + Символы.ПС;
телоЗапроса = телоЗапроса + "--" + boundary;
//---------------------------- Добавляю штрихкод --------------------------------	
телоЗапроса = телоЗапроса + "Content-Disposition: form-data; name=""barcode""; 
              filename=""barcode.txt""" + Символы.ПС;
телоЗапроса = телоЗапроса + "Content-Type: text/plain" + Символы.ПС + Символы.ПС;
телоЗапроса = телоЗапроса + реквизитШтрихкод + Символы.ПС; // после сканирования, штрихкод 
                                                           // сохраняется в реквизит
                                                // нужно ли добавлять его в файл?
телоЗапроса = телоЗапроса + "--" + boundary;
	
запрос.УстановитьТелоИзСтроки(телоЗапроса);
	
ответ = соединение.ВызватьHTTPМетод("POST", запрос);
Показать

Flask:
@app.route('/test_binary', methods=['POST'])
def test_binary():
    photo = request.files['photo']
    photo.save('conf/extra/flask/Images/'+photo.filename)
    
    return "Binary data received", 201

Даже без добавления Штрихкода (в коде его комментирую, здесь привел просто для примера), код не работает - возвращает ошибки 400 или 404 (Пробовал несколько вариантов отправки из 1с и по-разному принимал на Flask)
`request.form` и `request.files` не работают для меня. Как это можно исправить? и во flask и 1с?
По теме из базы знаний
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
Оставьте свое сообщение

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