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