Tập 31: FastAPI nhận file upload bằng UploadFile trong 5 phút — chặn file quá lớn và sai định dạng trước khi lưu. Đọc toàn bộ file vào RAM bằng await file.read() rồi ghi thẳng xuống đĩa bằng tên file do client gửi vừa tốn bộ nhớ, vừa nhận mọi loại file, lại có nguy cơ bị ghi đè ra ngoài thư mục upload. Tập này hướng dẫn kiểm tra content_type trước, đọc file theo từng chunk 1 MB để đếm dung lượng và trả lỗi 413 khi vượt 5 MB, rồi lưu bằng tên do server tự sinh với uuid — cùng lưu ý bắt buộc cài python-multipart khi dùng File().

Đọc bài viết đầy đủ kèm code mẫu đã kiểm chứng chạy được tại: FastAPI: nhận file upload bằng UploadFile — chặn file quá lớn và sai định dạng trước khi lưu trong 5 phút

English version