Support multipart HTML5 forms
This commit is contained in:
@@ -6,6 +6,14 @@ from fastapi import Request
|
||||
|
||||
|
||||
async def html5_form_data(request: Request) -> dict[str, list[str]]:
|
||||
content_type = request.headers.get("content-type", "")
|
||||
if content_type.startswith("multipart/form-data"):
|
||||
parsed = await request.form()
|
||||
form: dict[str, list[str]] = {}
|
||||
for key, value in parsed.multi_items():
|
||||
text = getattr(value, "filename", None) if not isinstance(value, str) else value
|
||||
form.setdefault(key, []).append(str(text or ""))
|
||||
return form
|
||||
body = (await request.body()).decode("utf-8")
|
||||
return parse_qs(body, keep_blank_values=True)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user