Form表单数据普通的input数据前端要求name值和后台获取的关键字要一一对应 ?
? ?
fastAPIform表单获取值、数据校验需要使用From数据类型进行校验,如果是input标签是文件类型,需要使用File类型,如果是多个文件,使用List列表校验取值,文件类型可以为bytes和UploadFile类型,其中UploadFile类型为文件,前者为字节类型@app.post('/login/', tags=['FILE', 'request'])async def user_login(request: Request, username: str = Form(...), password: str = Form(...), ? ? ? ? ? ? ? ? ? ? up_files: List[UploadFile] = File(None)): ? ?print('用户名', username) ? ?print('密码', password) ? ?print('文件list:', up_files) ? ?if up_files: ? ? ? ?for file in up_files: ? ? ? ? ? ?print('文件名称', file.filename) ? ? ? ? ? ?with open(file.filename, 'wb') as f: ? ? ? ? ? ? ? ?f.write(await file.read()) ? ?return templates.TemplateResponse(\, {\: request, 'msg': 'ok', 'id': username, 'tag': up_files})#这里的templates.TemplateResponse(),是jinja2模板语言#templates = Jinja2Templates(directory='templates')?FIle文件数据 表单中的数据不包含文件,则通常使用“媒体类型” application / x-www-form-urlencoded编码。 当表单包含文件时,它将被编码为multipart / form-data ?
fastAPI的Form表单数据
Form表单数据普通的input数据前端要求name值和后台获取的关键字要一一对应???????用户名:??????
推荐度:
点击下载文档文档为doc格式