آپلود و ارسال فایل ها به سرور با کنترل FileUpload
معرفی کنترل FileUpload :
کنترل FileUpload در صفحات ASP.Net ، این امکان را به کاربران شما می دهند تا فایل
های مورد نظر خود را به سرور سایت شما آپلود ( Upload ) نمایند .
برای مثال فرض کنید در سایت شما هر کاربری که ثبت نام نماید ، بایستی یک عکس درباره
خود را با فرمت jpg و حداکثر سایز 40 KB ، برای شما ارسال نماید . برای انجام این کار
می توانید از کنترل FileUpload به راحتی استفاده نمایید .
کنترل FileUpload این امکانات را در اختیار شما قرار می دهد :
- کاربران سایت شما فایل های مورد نظر خود را به آدرس تعیین شده بر روی سایت آپلود نمایند
.
- سایز فایلی که کاربر می خواهد بر روی سایت ارسال نماید را محدود نمایید . مثلا یک حداکثر
سایز برای آن تعیین نمایید .
- خصوصیات فایل های آپلود شده را بررسی نموده و در صورت صحیح بودن بر روی سرور ذخیره
شوند .
شکل کلی تعریف و نمایش دکمه فرمان FileUpload در صفحه های ASP.Net به صورت زیر است
:
|
Syntax
|
< asp:FileUpload ID="FileUpload1" runat="server" / >
|
کنترل FileUpload چگونه کار می کند :
کنترل FileUpload این امکان را برای کاربران سایت های ASP.Net فراهم می کند تا بتوانند
انواع فایل های مورد نظر خود از جمله عکس ، فایل های متنی و ... را به سرور سایت آپلود
نمایند .
این کنترل یک کادر متن ( کنترل
TextBox ) را به کاربر نمایش می دهد تا وی بتواند آدرس و نام فایل مورد نظر
خود را در آن وارد کرده و به سرور ارسال نماید . این کنترل همچنین یک دکمه Browse را
به کاربر نمایش می دهد که با فشردن آن ، یک کادر انتخابی Dialog Box باز می شود . توسط
این کادر ، کاربر می تواند به جستجوی فایل مورد نظر خود بر روی کامپیوتر ، پرداخته
و پس از انتخاب آن ، فایل را به سرور آپلود نماید .
مدیریت فایل های آپلود شده :
هنگامی که کاربر فایل خود را انتخاب کرده و سپس با ارسال آن ، صفحه را postback می
کند ، فایل به همراه درخواست آن به سرور آپلود می شود . این فایل پس از آپلود در حافظه
موقت سرور قرار گرفته و در صورت تایید در حافظه ثابت و در مسیر تعیین شده ذخیره خواهد
شد .
شما می توانید از طریق های زیر به فایل آپلود شده و خصوصیات آن دسترسی داشته باشید
:
- به عنوان آرایه ای از byte ها : در این حالت فایل توسط خاصیت
FileBytes کنترل FileUpload قابل دسترسی خواهد بود . در مثال های عملی این بخش ، طرز
کار با این حالت را نمایش داده ایم .
- به عنوان جریانی از داده ها : در این حالت فایل توسط خاصیت
FileContent کنترل FileUpload قابل دسترسی خواهد بود . در مثال های عملی این بخش ،
طرز کار با این حالت را نمایش داده ایم .
- به عنوان یک شی از نوع HttpPostedFile :
در این حالت فایل توسط خاصیت PostedFile کنترل FileUpload قابل دسترسی خواهد بود .
در این حالت به وسیله خواص ContentType و ContentLengh خاصیت PostedFile ، می توان
به خواص فایل دسترسی داشته و آنها را کنترل و برنامه ریزی نمود . در مثال های عملی
این بخش ، طرز کار با این حالت را نمایش داده ایم .
مثال های عملی کار با کنترل FileUpload :
در مثال های زیر کار با کنترل FileUpload را در مدیریت فایل های آپلود شده به سرور
در عمل نمایش داده شده است :
مثال 1 : کنترل سایز فایل آپلود شده :
در مثال اول یک کنترل FileUpload را قرار داده ایم که کاربر می تواند فایل مورد نظر
خود برای آپلود به سرور انتخاب نماید . سپس با کلیک بر روی دکمه فرمان BtnUpload درخواست
آپلود به سرور ارسال می شود .
برنامه با کلیک بر روی دکمه فرمان BtnUpload تابع Confirm_Upload را فراخوانی می کند
. کد این تابع در فایل کد صفحه ASP.Net وجود دارد . این تابع در صورتی که سایز فایل
بیش از 20000 Bytes باشد ، عملیات آپلود فایل را کنسل کرده و یک پیام هشدار به کاربر
ارسال می کند . در غیر این صورت فایل آپلود می شود :
نکته مهم : در این مثال کد لازم برای هر 3 حالت کار با کنترل
FileUpload را قرار داده ایم . توجه داشته باشید ، فقط یکی از دستورات if کافی است
:
|
مثال
|
<asp:FileUpload ID = " FileUpload1 " runat = " server " />
<asp:Button runat = " server " ID = " BtnUpload " OnClick = " Confirm_Upload
" Text=" Click to Upload File " />
<asp:Label ID = " lblMassage " runat = " server " Text = " " ></asp:Label>
|
کد پست صحنه
در فایل کد صفحه
|
protected void Confirm_Upload (object sender, EventArgs e)
{
// if ( FileUpload1.FileBytes.Length > 20000 )
// کد لازم در حالت اول
// if ( FileUpload1.FileContent.Length > 20000 )
// کد لازم در حالت دوم
if ( FileUpload1.PostedFile.ContentLength > 20000 )
// کد لازم در حالت سوم
{
lblMassage.Text = "اندازه فایل بیش از حد مجاز است";
}
}
|
مثال 2 : کنترل نوع فایل آپلود شده :
در مثال دوم نیز یک کنترل FileUpload را قرار داده ایم که کاربر می تواند فایل مورد
نظر خود برای آپلود به سرور انتخاب نماید . سپس با کلیک بر روی دکمه فرمان BtnUpload
درخواست آپلود به سرور ارسال می شود .
برنامه با کلیک بر روی دکمه فرمان BtnUpload تابع Confirm_Upload را فراخوانی می کند
. این تابع نوع فایل آپلود شده را بررسی کرده و چنانچه از نوع عکس و با فرمت jpg نباشد
، یک پیام هشدار به کاربر نمایش داده و عملیات آپلود فایل متوقف می شود . در غیر این
صورت فایل آپلود می شود :
|
مثال
|
<asp:FileUpload ID = " FileUpload1 " runat = " server " />
<asp:Button runat = " server " ID = " BtnUpload " OnClick = " Confirm_Upload
" Text=" Click to Upload File " />
<asp:Label ID = " lblMassage " runat = " server " Text = " " ></asp:Label>
|
کد پست صحنه
در فایل کد صفحه
|
protected void Confirm_Upload (object sender, EventArgs e)
{
if ( FileUpload1.PostedFile.ContentType != "image/jpeg" )
{
lblMassage.Text = " فایل باید فرمت jpg داشته باشد";
}
}
|
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1
حمایت نمایید :