What problem does it solve? File uploads in ASP.NET Core minimal APIs fail in non-obvious ways: mismatched size limits between Kestrel and form options, unexpected 400 errors from automatic anti-forgery validation, and security holes from trusting user-supplied filenames or content types. This Skill provides correct, production-oriented patterns for handling IFormFile binding, size limits, validation, and streaming. ## Core Features & Use Cases - Correct IFormFile Binding: Shows when IFormFile and IFormFileCollection bind automatically and when [FromForm] attributes are required for mixed form fields. - Dual Size Limit Configuration: Configures both Kestrel MaxRequestBodySize and FormOptions.MultipartBodyLengthLimit, plus per-endpoint overrides with RequestSizeLimit. - Secure Validation: Validates file content via magic bytes instead of trusting extensions or Content-Type headers, and generates safe filenames to prevent path traversal. - Large File Streaming: Uses MultipartReader to stream large uploads directly to disk without buffering. - Use Case: You are building a .NET 8+ API that accepts image uploads and keeps getting 400 errors or oversized-request failures; this Skill walks you through anti-forgery opt-out, size limits, and content validation step by step. ## Quick Start Ask the AI to implement a secure file upload endpoint in an ASP.NET Core minimal API with size limits and content type validation.