Как загрузить несколько файлов с помощью 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", он сработает как шарм. Но, конечно, в этом случае я могу загрузить только один файл.
Что я делаю не так, пожалуйста?