Coverage for docs_src / request_files / tutorial002_an_py310.py: 100%

14 statements  

« prev     ^ index     » next       coverage.py v7.13.3, created at 2026-04-06 01:24 +0000

1from typing import Annotated 1abcdefg

2 

3from fastapi import FastAPI, File, UploadFile 1abcdefg

4from fastapi.responses import HTMLResponse 1abcdefg

5 

6app = FastAPI() 1abcdefg

7 

8 

9@app.post("/files/") 1abcdefg

10async def create_files(files: Annotated[list[bytes], File()]): 1abcdefg

11 return {"file_sizes": [len(file) for file in files]} 1lmno

12 

13 

14@app.post("/uploadfiles/") 1abcdefg

15async def create_upload_files(files: list[UploadFile]): 1abcdefg

16 return {"filenames": [file.filename for file in files]} 1pqrs

17 

18 

19@app.get("/") 1abcdefg

20async def main(): 1abcdefg

21 content = """ 1hijk

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) 1hijk