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

14 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2025-12-04 08:29 +0000

1from typing import List 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( 1abcdefg

11 files: List[bytes] = File(description="Multiple files as bytes"), 

12): 

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

14 

15 

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

17async def create_upload_files( 1abcdefg

18 files: List[UploadFile] = File(description="Multiple files as UploadFile"), 

19): 

20 return {"filenames": [file.filename for file in files]} 1vwxyzAB

21 

22 

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

24async def main(): 1abcdefg

25 content = """ 1hijklmn

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