Streaming Large File Uploads to S3 with Node.js and Busboy: How to avoid Memory Leaks
Another common approach is to save the incoming file to a temporary location on disk and then read it from there to upload to S3. While this avoids memory spikes, it introduces other bottlenecks and potential issues:
Read Article