File Upload
Penjelasan
UploadFile adalah tipe khusus FastAPI untuk menerima file upload — lebih efisien dari bytes biasa karena file disimpan sementara di disk/memory secara streaming, bukan langsung dimuat penuh ke memory. Cocok untuk file besar.
Contoh Konsep
from fastapi import UploadFile, File
@app.post('/upload')
async def upload_gambar(file: UploadFile = File(...)):
isi = await file.read()
with open(f'uploads/{file.filename}', 'wb') as f:
f.write(isi)
return {'nama_file': file.filename, 'ukuran': len(isi)}
Praktikum
Buat endpoint POST '/upload' yang menerima UploadFile dan mengembalikan nama file serta content_type-nya.
Editor Latihan
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
file.content_type berguna untuk validasi jenis file (mis. hanya izinkan image/png, image/jpeg) sebelum menyimpannya — jangan percaya begitu saja pada ekstensi nama file yang dikirim client.