What problem does it solve?
Provides a complete, production-minded workflow for handling file uploads in Node.js backends, preventing common failures such as memory exhaustion, unvalidated content, path traversal, and uncleaned temporary files. It helps teams choose the right architecture (backend-proxied uploads vs presigned direct-to-S3) while enforcing validation, streaming, and cleanup patterns.
Core Features & Use Cases
- Upload strategies: guidance to decide between server-side multipart uploads (multer/NestJS) and presigned S3 uploads for scalability.
- Validation & safety: magic-bytes content validation, mimetype checks, size limits, image metadata validation with graceful cleanup on failure.
- Streaming & storage: patterns to stream large files to S3 without buffering, serve downloads with proper headers, and run background cleanup jobs.
- Real-world example: accept user avatars and large media efficiently by generating short-lived presigned URLs for clients, validating post-upload, and streaming processing for thumbnails.
Quick Start
Use the file-handling skill to generate a presigned S3 upload URL and validate an uploaded image 'photo.png' for user 123.