Как загрузить несколько файлов с помощью flask-restx

Я пытаюсь создать конечную точку в своем API, которая позволяет загружать несколько файлов одновременно, и использовать ее через пользовательский интерфейс Swagger, созданный Flask-restx

Я использую Pyhton 3.7 / Flask 1.1.2 и Flask_restx 0.2.0 (это форк flask_restplus, который больше не поддерживается)

Итак, после прочтения документации я написал этот код:

estimate_files_upload = reqparse.RequestParser()
estimate_files_upload.add_argument(
    'estimate_data_files',
    type=werkzeug.datastructures.FileStorage,
    location='files',
    required=True,
    help="help",
    action='append'
)


@ns.route('/estimate/data_files/', methods=['POST'])
class ApiImportEstimateDataFiles(Resource):
    @api.expect(estimate_files_upload)
    def post(self):
        estimates_files_list = request.files.getlist("estimate_data_files")

Проблема в том, что request.files всегда пуст, в то время как я загружаю 1 или несколько файлов через пользовательский интерфейс, поэтому getlist ничего не возвращает.

Если я удалю action="append", он сработает как шарм. Но, конечно, в этом случае я могу загрузить только один файл.

Что я делаю не так, пожалуйста?

0 ответов

Другие вопросы по тегам