Create a drag-and-drop file uploader with progress tracking, image/video preview, file type validation, chunked uploads for large files, and a gallery view of uploaded files.
uploaddrag-and-dropfileprogress
Objectives
Implement drag-and-drop file selection
Show upload progress with cancel support
Preview images and videos before upload
Validate file types and sizes
Display uploaded files in a gallery view
Hints
Use XMLHttpRequest or fetch with ReadableStream for progress