File uploads require careful handling for security and scalability. This guide covers patterns for safe, efficient file processing.
Basic Upload with Multer#
Upload to S3#
Presigned URLs for Direct Upload#
File Validation#
Image Processing#
Chunked Uploads#
Frontend Upload with Progress#
Security Checklist#
- ✅ Validate file type by magic bytes, not extension
- ✅ Limit file size
- ✅ Generate random filenames
- ✅ Store files outside web root
- ✅ Scan for viruses
- ✅ Validate image dimensions
- ✅ Set proper content-type headers
- ✅ Use presigned URLs for direct upload
Conclusion#
File uploads require validation, secure storage, and efficient processing. Use presigned URLs for large files, validate thoroughly before processing, and store files in object storage like S3 for scalability.