1from typing import List
2
3from fastapi import FastAPI, File, UploadFile
4from fastapi.responses import HTMLResponse
5
6app = FastAPI()
7
8
9@app.post("/files/")
10async def create_files(files: List[bytes] = File(...)):
11    return {"file_sizes": [len(file) for file in files]}
12
13
14@app.post("/uploadfiles/")
15async def create_upload_files(files: List[UploadFile] = File(...)):
16    return {"filenames": [file.filename for file in files]}
17
18
19@app.get("/")
20async def main():
21    content = """
22<body>
23<form action="/files/" enctype="multipart/form-data" method="post">
24<input name="files" type="file" multiple>
25<input type="submit">
26</form>
27<form action="/uploadfiles/" enctype="multipart/form-data" method="post">
28<input name="files" type="file" multiple>
29<input type="submit">
30</form>
31</body>
32    """
33    return HTMLResponse(content=content)
34