پرش به مطلب اصلی

میان‌افزار داده‌های فرم (FormData)

میان‌افزار پردازش داده‌های فرم مسئول مدیریت داده‌های فرم چندبخشی (multipart/form-data) است.

هدف

این میان‌افزار داده‌های فرم چندبخشی را پردازش کرده و فایل‌های آپلود شده را در دایرکتوری موقت ذخیره می‌کند.

نحوه کار

  1. استفاده از connect-multiparty برای پردازش داده‌های فرم
  2. ذخیره فایل‌ها در دایرکتوری موقت
  3. ادغام داده‌های فایل در بدنه درخواست
  4. پاکسازی خودکار فایل‌های موقت

تنظیمات

// تنظیمات آپلود
UPLOAD_INFO: {
tmpPath: "/tmp/uploads", // مسیر دایرکتوری موقت
fieldName: "file" // نام فیلد فایل
}

ویژگی‌ها

  • پردازش چندبخشی: پشتیبانی از داده‌های multipart/form-data
  • ذخیره موقت: ذخیره فایل‌ها در دایرکتوری موقت
  • ادغام خودکار: ادغام فایل‌ها با سایر داده‌های فرم
  • پاکسازی خودکار: پاکسازی فایل‌های موقت پس از پایان درخواست
  • مدیریت خطا: مدیریت خطاهای پردازش فرم

استفاده در کد

// در فرم HTML
<form enctype="multipart/form-data" method="post">
<input type="file" name="avatar" />
<input type="text" name="username" />
</form>

// در کنترلر
const avatarFile = req.body.avatar; // فایل آپلود شده
const username = req.body.username; // داده متنی

ملاحظات امنیتی

  • فایل‌ها در دایرکتوری موقت ذخیره می‌شوند
  • پاکسازی خودکار پس از پایان درخواست
  • محدودیت اندازه فایل توسط connect-multiparty مدیریت می‌شود