میانافزار دادههای فرم (FormData)
میانافزار پردازش دادههای فرم مسئول مدیریت دادههای فرم چندبخشی (multipart/form-data) است.
هدف
این میانافزار دادههای فرم چندبخشی را پردازش کرده و فایلهای آپلود شده را در دایرکتوری موقت ذخیره میکند.
نحوه کار
- استفاده از
connect-multipartyبرای پردازش دادههای فرم - ذخیره فایلها در دایرکتوری موقت
- ادغام دادههای فایل در بدنه درخواست
- پاکسازی خودکار فایلهای موقت
تنظیمات
// تنظیمات آپلود
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مدیریت میشود