📤 File Upload with Progress Bar
Upload files + show progress. Native browser API. No libraries.
const formData = new FormData();
formData.append('file', fileInput.files[0]);
formData.append('userId', '123');
const xhr = new XMLHttpRequest();
// Progress tracking
xhr.upload.addEventListener('progress', (e) => {
const percent = (e.loaded / e.total) * 100;
progressBar.style.width = percent + '%';
});
xhr.open('POST', '/upload');
xhr.send(formData);
With Fetch: No progress tracking (yet). Use XMLHttpRequest for uploads.
Multiple Files: Loop through fileInput.files, append each.
