from flask import Flask, request from flask_restx import Resource, Api, Namespace, fields from werkzeug.datastructures import FileStorage app = Flask(__name__) api = Api(app) ns = Namespace(name="Upload files", path='/') file_upload_parser = ns.parser() file_upload_parser.add_argument( 'files[]', location='files', type=FileStorage, required=True, action="append", help="Upload some files" ) upload_files_model = ns.model("files", { 'Files uploaded': fields.Integer }) @ns.route('/upload-files') @ns.expect(file_upload_parser) @ns.response(code=200, description="Number of files uploaded", model=upload_files_model) class UploadFiles(Resource): def post(self): files = request.files.getlist("files[]") print("List of files", files, request.files) return {'Files uploaded': len(files)} api.add_namespace(ns) if __name__ == '__main__': app.run(debug=True)