Request Files
Basic File Upload
Section titled “Basic File Upload”from justapi import JustAPIApp, UploadFile, File
app = JustAPIApp()
@app.post("/upload")async def upload_file(file: UploadFile = File(...)): content = await file.read() return { "filename": file.filename, "content_type": file.content_type, "size": len(content), }Multiple File Upload
Section titled “Multiple File Upload”@app.post("/upload-multiple")async def upload_multiple(files: list[UploadFile] = File(...)): results = [] for file in files: content = await file.read() results.append({"filename": file.filename, "size": len(content)}) return {"files": results}Save File to Disk
Section titled “Save File to Disk”import shutilfrom pathlib import Path
UPLOAD_DIR = Path("uploads")UPLOAD_DIR.mkdir(exist_ok=True)
@app.post("/upload-save")async def upload_and_save(file: UploadFile = File(...)): file_path = UPLOAD_DIR / file.filename with open(file_path, "wb") as buffer: shutil.copyfileobj(file.file, buffer) return {"saved_to": str(file_path)}UploadFile Properties
Section titled “UploadFile Properties”| Property | Type | Description |
|---|---|---|
filename |
str |
Original filename |
content_type |
str |
MIME type |
file |
BinaryIO |
File-like object |
read() |
await bytes |
Read entire file |
write() |
await None |
Write data |
See Also
Section titled “See Also”- Request Forms & Files — forms with files
- Form Data — form-only submissions
- UploadFile Reference — full API reference