درون سایت های خیلی مواقع اتفاق می افته که نیاز است که کاربر بصورت همزمان چندین فایل رو آپلود کنه.
این مورد بالاخص در گالری تصاویر سایت ها خیلی اتفاق می افته ، بطوری که گاهی نیاز است که کاربر 5 تا فایل تصویر رو همزمان بتونه آپلود کنه.
همانطور که می دانید در asp.net برای آپلود فایل از کنترل فایل آپلود (FileUpload) استفاده میشه و برای مثال بالا نیاز است که 5 تا کنترل فایل آپلود (FileUpload) درون یک صفحه داشته باشیم.

مشکلی که در اینجا پیش میاد اینه که ممکنه که کاربر از این 5 تا کنترل ، چند عددش رو استفاده کنه ، یعنی ما 5 تا فایل آپلود داریم ولی یهو می بینی کاربر فقط توی 2 تاش فایل انتخاب می کنه و تو اون زمان نیاز به اپلود 5 تا فایل نداره.
برای همین باید در زمان کلیک روی دکمه "آپلود" (دکمه ای که توی صفحه برای ارسال اطلاعات به سرور گذاشته ایم) دونه دونه فایل اپلود هامونو چک کنیم و در صورتی که کاربر با فایل آپلود ، فایلی انتخاب کرده بود فایل رو روی هاست آپلود کنیم ...
مقالات آموزشی دانشجویی برنامه نویسی و الکترونیک و شبکه
برای این کار باید یه همچین کدی بنویسیم:


می بینید که حجم کد چقدر زیاده و بیشتر کدها هم تکراری است!
تازه این فقط برای آپلود همزمان 5 تا فایله ، اگر توی یه پروژه مشتری خواست که همزمان بتونه 10 تا فایل رو آپلود کنه چی ؟
اون موقع اگر بخواین به این روش کد بزنین ، باید یه خروار کد تکراری بنویسین که این یعنی زیاد شدن حجم کدهای سایت و صرف شدن کلی زمان و انرژی برای یه کار کوچیک !

باید خدمتتون عرض کنم که روش بالا خیلی مبتدی و قدیمی است و برنامه نویسان حرفه ای هیچوقت به این روش برنامه نمی نویسن!
نگران نباشید ، در ادامه مقاله به شما یاد میدم که چطوری بتونین امکان آپلود همزمان 1000 تا فایل رو هم با چند خط کد میسر کنید!


برای این کار باید به روش زیر کد بنویسید:


ملاحظه می نمایید که به همین راحتی ما بدون نیاز به آی دی کنترل های فایل آپلود و همچنین بدون نیاز به دانستن تعداد کنترل های فایل آپلودی که توی صفحه وجود داره ، و حتی بدون نیاز به چک کردن تک تک کنترل های فایل آپلود داخل صفحه که آیا فایلی بوسیله هر کدوم انتخاب شده یا نه ؛ بدون دردسر همه فایل های ارسال شده به سرور رو داخل یک متغیر (شیء) از نوع کلاس HttpFileCollection ریختیم و بعد با یک عدد حلقه for ساده ، تک تک فایل ها رو روی هاست آپلود کرده ایم.
به همین راحتی!
این کد چه برای آپلود یک فایل و چه برای اپلود همزمان 1000 تا فایل کاربرد داره و فقط کافیه که به تعداد نیازتون کنترل فایل آپلود داخل صفحتون قرار بدین و در رویداد کلیک دکمه فرمتون ، از کد بالا استفاده کنین.

فایل پروژه رو می تونین از اینجا دانلود کنین

رمز فایل: netnic.ir
امیدوارم که از این آموزش جانانه هم خوشتون اومده باشه و خلاصه کدهاتونو از این به بعد به این روش جدید بزنین و حالشو ببرین
به زودی با آموزش جالب دیگری در خدمت شما خواهم بود ، پس مرتب به من سربزنین تا آموزش های خوب نت نیک رو از دست ندین.
نظرات سازندتونو هم تو بخش نظرات بگین تا در جهت بهبود کیفیت سایت نت نیک استفاده کنمشون.
یا حق

این پست بروز شده است


نوشته شده در تاریخ جمعه 13 تیر 1393    | توسط: ح.م    | طبقه بندی: آموزش ASP.NET،     | نظرات()