تكرار السؤال: …
الإجابة المختصرة
يتم توجيه تدفق طلب HTTP (req) مباشرة عبر pipeline إلى ملف على القرص أو خدمة سحابية (S3) كـ multipart stream فور وصول أجزائه.
الشرح
تحميل الملف كاملاً في الذاكرة يؤدي لانهيار الخادم بمجرد رفع ملفات كبيرة. الحل المعماري الصحيح هو معاملة جسم الطلب req كـ Readable Stream وتمريره لأداة تحليل multipart وتوجيهه مباشرة للمخزن النهائي.
مثال بالكود
await pipeline(req, fs.createWriteStream("file.bin"));أخطاء شائعة
- حفظ محتويات الملف في متغيرات داخلية في الذاكرة قبل كتابتها على القرص.