Memuat Naik Fail dengan FastAPI
FastAPI menyediakan cara mudah untuk memuat naik fail menggunakan kelas UploadFile async. Begini cara untuk membuat titik akhir untuk memuat naik fail:
<code class="python">from fastapi import File, UploadFile
@app.post("/upload")
async def upload_file(file: UploadFile = File(...)):
# Write the file to disk
with open(file.filename, "wb") as wf:
wf.write(await file.read())
wf.close()
return {"message": f"Successfully uploaded {file.filename}"}</code>
Salin selepas log masuk
Titik akhir ini membolehkan anda memuat naik satu fail. Untuk memuat naik berbilang fail, gunakan senarai parameter Muat NaikFail.
Pertimbangan Prestasi
Prestasi operasi muat naik fail dalam FastAPI boleh dipengaruhi oleh beberapa faktor, termasuk:
-
Saiz fail: Fail yang lebih besar mengambil masa lebih lama untuk dimuat naik dan diproses.
-
Operasi I/O: Menulis fail ke cakera boleh menjadi proses yang perlahan, terutamanya untuk fail besar.
-
Konkurensi: Jika berbilang fail dimuat naik secara serentak, mereka mungkin bersaing untuk mendapatkan sumber dan memperlahankan proses.
Berbanding dengan Flask
Prestasi muat naik fail dalam FastAPI boleh menjadi lebih perlahan berbanding rangka kerja seperti Flask, yang menggunakan pendekatan yang lebih segerak untuk pengendalian fail. Untuk meningkatkan prestasi, pertimbangkan perkara berikut:
-
Gunakan I/O tak segerak: FastAPI menggunakan I/O tak segerak secara lalai, yang boleh mempercepatkan muat naik dan pemprosesan fail.
-
Tulis fail dalam ketulan: Membahagikan fail besar kepada ketulan yang lebih kecil boleh mengurangkan masa yang dibelanjakan untuk operasi I/O.
-
Gunakan mekanisme caching: Caching baru-baru ini fail yang dimuat naik boleh mengelakkan bacaan pendua daripada cakera.
Isu Prestasi Penyahpepijatan
Jika anda mengalami muat naik fail perlahan dalam FastAPI, cuba langkah penyelesaian masalah berikut:
-
Semak saiz fail: Sahkan bahawa saiz fail berada dalam had yang boleh diterima.
-
Periksa log pelayan: Cari mesej ralat atau amaran prestasi yang berkaitan untuk memfailkan muat naik.
-
Profilkan titik akhir: Gunakan alat pemprofilan seperti SnakeViz atau cProfile untuk mengenal pasti kesesakan prestasi.
-
Pertimbangkan untuk menggunakan CDN: Memunggah storan fail ke CDN boleh meningkatkan prestasi untuk fail besar.
Atas ialah kandungan terperinci Bagaimana untuk Mengoptimumkan Prestasi Muat Naik Fail dalam FastAPI?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!