Upload files
Introduction¶
Form Decorator support upload files.
Note
Parameters will store the type of werkzeug.FileStorage
.
Example¶
from flask import Flask
from flask.views import MethodView
from pydantic import BaseModel
from flask_restapi import Api, RequestParametersType, FileStorageType
app = Flask(__name__)
api = Api(app)
class UserFormSpec(BaseModel):
name: str
image: FileStorageType
class UserResponseSpec(BaseModel):
id: int
name: str
class User(MethodView):
@api.form(UserFormSpec)
@api.response(UserResponseSpec)
def post(self, parameters: RequestParametersType):
"""Post a user name and image"""
user_name = parameters.form.name
image = parameters.form.image
image.save("Myimage.png")
return UserResponseSpec(id=1, name=user_name)
app.add_url_rule("/user", view_func=User.as_view("user"))