feat: add chunked upload API for large file uploads #21
Reference in New Issue
Block a user
Delete Branch "feature/chunked-upload"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Implement chunked upload API for mobile clients to upload large files (up to 2GB).
API Endpoints
POST /api/v1/upload/chunk/init- Initialize chunked uploadPOST /api/v1/upload/chunk/{upload_id}/{chunk_index}- Upload single chunkGET /api/v1/upload/chunk/{upload_id}/status- Get upload status (for resume)POST /api/v1/upload/chunk/{upload_id}/complete- Complete upload and merge chunksFeatures
Files Changed
apps/api/app/schemas/chunked_upload.py- Request/Response schemasapps/api/app/api/routes/chunked_upload.py- API routesapps/api/app/api/router.py- Route registration- POST /upload/chunk/init - Initialize chunked upload - POST /upload/chunk/{upload_id}/{chunk_index} - Upload single chunk - POST /upload/chunk/{upload_id}/complete - Complete upload and merge chunks - GET /upload/chunk/{upload_id}/status - Get upload status for resume Features: - Support files up to 2GB - Default chunk size: 5MB - File type whitelist validation - 24-hour expiration for incomplete uploads - Automatic cleanup of expired uploads