معرفی کنترل FileUpload :
کنترل FileUpload در صفحات ASP.Net ، این امکان را به کاربران شما می دهند تا فایل های مورد نظر خود را به سرور سایت شما آپلود ( Upload ) نمایند .
برای مثال فرض کنید در سایت شما هر کاربری که ثبت نام نماید ، بایستی یک عکس درباره خود را با فرمت jpg و حداکثر سایز ۴۰ KB ، برای شما ارسال نماید . برای انجام این کار می توانید از کنترل FileUpload به راحتی استفاده نمایید .
کنترل FileUpload این امکانات را در اختیار شما قرار می دهد :
کاربران سایت شما فایل های مورد نظر خود را به آدرس تعیین شده بر روی سایت آپلود نمایند .
سایز فایلی که کاربر می خواهد بر روی سایت ارسال نماید را محدود نمایید . مثلا یک حداکثر سایز برای آن تعیین نمایید .
خصوصیات فایل های آپلود شده را بررسی نموده و در صورت صحیح بودن بر روی سرور ذخیره شوند .
شکل کلی تعریف و نمایش دکمه فرمان FileUpload در صفحه های ASP.Net به صورت زیر است :
< 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 را در مدیریت فایل های آپلود شده به سرور در عمل نمایش داده شده است :
مثال ۱ : کنترل سایز فایل آپلود شده :
در مثال اول یک کنترل FileUpload را قرار داده ایم که کاربر می تواند فایل مورد نظر خود برای آپلود به سرور انتخاب نماید . سپس با کلیک بر روی دکمه فرمان BtnUpload درخواست آپلود به سرور ارسال می شود .
برنامه با کلیک بر روی دکمه فرمان BtnUpload تابع Confirm_Upload را فراخوانی می کند . کد این تابع در فایل کد صفحه ASP.Net وجود دارد . این تابع در صورتی که سایز فایل بیش از ۲۰۰۰۰ Bytes باشد ، عملیات آپلود فایل را کنسل کرده و یک پیام هشدار به کاربر ارسال می کند . در غیر این صورت فایل آپلود می شود :
نکته مهم : در این مثال کد لازم برای هر ۳ حالت کار با کنترل 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>
کد پست صحنه |
مثال ۲ : کنترل نوع فایل آپلود شده :
در مثال دوم نیز یک کنترل 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 داشته باشد”; } } |