A: A common pattern is presigned URLs — the backend (NestJS) generates a presigned upload URL from S3 and returns it to React; React then uploads the file chunks directly to S3. This reduces load on your server and bandwidth. The backend can still verify file metadata and sign only authorized uploads.