Coverage for docs_src/request_files/tutorial003_py39.py: 100%
13 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-12-04 08:29 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-12-04 08:29 +0000
1from fastapi import FastAPI, File, UploadFile 1abcdef
2from fastapi.responses import HTMLResponse 1abcdef
4app = FastAPI() 1abcdef
7@app.post("/files/") 1abcdef
8async def create_files( 1abcdef
9 files: list[bytes] = File(description="Multiple files as bytes"),
10):
11 return {"file_sizes": [len(file) for file in files]} 1mnopqr
14@app.post("/uploadfiles/") 1abcdef
15async def create_upload_files( 1abcdef
16 files: list[UploadFile] = File(description="Multiple files as UploadFile"),
17):
18 return {"filenames": [file.filename for file in files]} 1stuvwx
21@app.get("/") 1abcdef
22async def main(): 1abcdef
23 content = """ 1ghijkl
24<body>
25<form action="/files/" enctype="multipart/form-data" method="post">
26<input name="files" type="file" multiple>
27<input type="submit">
28</form>
29<form action="/uploadfiles/" enctype="multipart/form-data" method="post">
30<input name="files" type="file" multiple>
31<input type="submit">
32</form>
33</body>
34 """
35 return HTMLResponse(content=content) 1ghijkl