آموزش آپلود فایل در ASP.NET به همراه نمونه کد و مثال
بارگذاری فایل در ASP.NET
ASP.NET دو کنترل دارد که اجازه می دهند کاربران فایل های خود را در وب سرور بارگذاری (upload) نمایند. هنگامی که سرور داده های فایل پست شده را دریافت می کند ، برنامه کاربردی آن را ذخیره کرده و بررسی می نماید و یا در صورت لزوم از آن صرف نظر می کند. کنترل های زیر امکان آپلود کردن فایل را فراهم می سازند:
- HtmlInputFile : کنترل سرور HTML
- FileUpload : کنترل وب ASP.NET
هر دو فایل امکان بارگذاری فایل را فراهم می کنند ، اما کنترل FileUpload به طور خودکار فرم رمزگذاری را تنظیم می نماید ، در حالی که HtmlInputFile این کار را انجام نمی دهد.
در این آموزش ، ما از کنترل FileUpload استفاده می کنیم. کنترل FileUpload اجازه می دهد که کاربر فایل را برای بارگذاری پیدا کرده و آن را انتخاب نماید. این کار را از طریق فراهم نمودن کلید browse و یک text box برای وارد کردن نام فایل انجام می دهد.
هنگامی که کاربر نام فایل را در کادر متن تایپ نمود و یا آن را browse کرد ، می توان متد SaveAs از کنترل FileUpload را برای ذخیره کردن فایل در هارد دیسک وب سرور فراخوانی نمود.
قاعده نوشتاری (syntax) کنترل FileUpload به صورت زیر می باشد:
<asp:FileUpload ID= "Uploader" runat = "server" />
کلاس FileUpload از کلاس WebControl مشتق شده و تمام اعضاء آن را به ارث برده است. جدا از آن، کلاس FileUpload دارای خواص فقط خواندنی (read-only) زیر می باشد:
خصیصه |
توضیحات |
FileBytes |
یک آرایه از بایت های فایل آپلود شده را باز می گرداند. |
FileContent |
شیء stream اشاره گر به فایل آپلود شده را باز می گرداند. |
FileName |
نام فایلی را که آپلود شده است ، باز می گرداند. |
HasFile |
مشخص می کند که آیا کنترل یک فایل برای آپلود شدن دارد یا خیر. |
PostedFile |
یک مرجع (reference) را برای فایل آپلود شده باز می گرداند. |
فایل پست شده به صورت کپسوله سازی شده در یک شیء از نوع HttpPostedFile می باشد ، که می تواند از طریق خصیصه PostedFile از کلاس FileUpload مورد دسترسی قرار گیرد.
کلاس HttpPostedFile دارای خصیصه های زیر می باشد:
خصیصه |
توضیحات |
ContentLength |
تعداد بایت های فایل آپلود شده را باز می گرداند. |
ContentType |
نوع MIME فایل آپلود شده را باز می گرداند. |
FileName |
نام کامل فایل را باز می گرداند. |
InputStream |
شیء stream اشاره گر به فایل آپلود شده را باز می گرداند. |
مثال
مثال زیر کنترل FileUpload و خصیصه های آن را نشان می دهد. در این مثال ، فرم حاوی یک کنترل FileUpload می باشد که با کلید save و کنترل برچسب برای نمایش دادن نام فایل ، نوع فایل و طول فایل همراه است.
در تصویر زیر ، design view مثال را مشاهده می نمایید:
کد فایل content به صورت زیر می باشد:
<body>
<form id="form1" runat="server">
<div>
<h3> File Upload:</h3>
<br />
<asp:FileUpload ID="FileUpload1" runat="server" />
<br /><br />
<asp:Button ID="btnsave" runat="server" onclick="btnsave_Click" Text="Save" style="width:85px" />
<br /><br />
<asp:Label ID="lblmessage" runat="server" />
</div>
</form>
</body>
کد پشت کلید save به صورت زیر است:
protected void btnsave_Click(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
if (FileUpload1.HasFile)
{
try
{
sb.AppendFormat(" Uploading file: {0}", FileUpload1.FileName);
//saving the file
FileUpload1.SaveAs("<c:\\SaveDirectory>" + FileUpload1.FileName);
//Showing the file information
sb.AppendFormat("<br/> Save As: {0}", FileUpload1.PostedFile.FileName);
sb.AppendFormat("<br/> File type: {0}", FileUpload1.PostedFile.ContentType);
sb.AppendFormat("<br/> File length: {0}", FileUpload1.PostedFile.ContentLength);
sb.AppendFormat("<br/> File name: {0}", FileUpload1.PostedFile.FileName);
}catch (Exception ex)
{
sb.Append("<br/> Error <br/>");
sb.AppendFormat("Unable to save file <br/> {0}", ex.Message);
}
}
else
{
lblmessage.Text = sb.ToString();
}
}
به موارد ذیل توجه نمایید:
- کلاس StringBuilder از فضای نام System.IO مشتق شده ، از این رو نیاز است که include شود.
- بلوک های try و catch برای گرفتن خطا و نمایش پیام خطا مورد استفاده قرار گرفته اند.
این فصل در یک نگاه:
در این فصل پس از بررسی سیستم مسیریابی و طراحی صفحه نمایش ویدیو ها، به سراغ پنل کاربری خواهیم رفت و مباحث Model Binding و…
توجه: این دوره آموزشی به صورت پیوسته بر اساس آخرین نسخه ی ASP.NET Core بروزرسانی خواهد شد. آموزش صفر تا صد طراحی سایت اشتراک ویدیو مشابه آپارات با استفاده از ASP.NET CORE MVC 3.0 و V…این فصل در یک نگاه:
…
توضیحات کلی مجموعه: در این مجموعه قصد داریم تا فروشگاه اینترنتی دیجی کالا رو با Asp.Net Core3 پیاده سازی کنیم. ابتدا طراحی قالب دیجی کالا رو به صورت کامل انجام خواهیم داد. در مرحله میریم …این فصل در یک نگاه:
…
توضیحات کلی مجموعه: در این مجموعه آموزشی، با استفاده از جدیدترین تکنولوژی ها و ابزار های مایکروسافت (دات نت)، به یک پروژه جذاب مدیریت آگهی مشابه دیوار می پردازیم. این آموزش در دو بخش کلی و…این فصل در یک نگاه:
در این دوره به آموزش صفر تا صد جدیدترین نسخه ASP یعنی CORE جدیدترین ورژن خواهیم پرداخت.این آموزش از سطح مقدماتی تا فوق …
دوره آموزش کامل طراحی وب به همراه پروژه ساخت سیستم مدیریت کتابخانه این دوره با کور 1 آغاز می شود و در ادامه پروژه به کور 2 تبدیل می شودو پروژه نهایی (سیستم مدیریت کتابخانه) با Asp.net کور…این فصل در یک نگاه:
ساخت محیط کاربریآموزش نحوه ی ارسال ایمیل در Asp.net MVCآموزش تنظیمات Gmail برای استفادهاستفاده از Yahooاستفاده از سرویس …
به نام خدا... در خدمتتون هستم با آموزش ارسال ایمیل در Asp.net MVC... ارسال ایمیل یکی از اجزای اصلی ییک سایت به شمار می رود و واقعا سایتی که برای اجزای مختلفش همانند ثبت کاربر جدید و یا ارسال…این فصل در یک نگاه:
فصل دوم در یک نگاه:فصل دوم در یک نگاه:…
در این پکیج به مبحث طراحی وب ، در قالب ساخت یک سایت فروشگاهی 5040 به آدرس http://5040.ir می پردازیم که به جرات مشهورترین و یکی از برترین فروشگاه های مجازی در کشور است. در این مجموعه قصد داری…این فصل در یک نگاه:
…
در این دوره آموزشی، وبسایت ورزش3 را با استفاده از ASP.NET Core پیاده سازی می کنیم و همچنین اپ اندروید آن را هم با Xamarin متصل به سرور سایت طراحی و در نهایت نحوه انتشار آن در مارکت هایی مثل …این فصل در یک نگاه:
کاملترین آموزش هاست و کار با سی پنل.در هنگام خرید سرویس هاست کلمه ای به نام “کنترل پنل” را زیاد خواهید دید آیا تا به حال…
سی پنل یک کنترل پنل هاست محبوب و معروف در جهان و ایران است. در فیلم آموزش سی پنل هم توصیه اکید شده تا افراد مبتدی و حتی افراد حرفه ای از این کنترل پنل هاست سی پنل استفاده کنند. آموزش cpanel …این فصل در یک نگاه:
فصل پنجم…
توضیحات کلی مجموعه: درباره گیت: لذت پیش بردن پروژه های برنامه نویسی خود را با بهترین ورژن کنترل سیستم جهان تجربه کنید کامل ترین دوره ی آموزشی گیت و گیت هاب به همراه مثال های کاربردی گی…این فصل در یک نگاه:
رشد و درآمدزایی یک وب سایت یا کسب و کار اینترنتی کاملا به ذوق و مهارت وب مستر یا همان مدیر اصلی وب سایت گره خورده و متاس…
اصول مدیریت وب سایت برای وب مستر شدن برای موفقیت یک وب سایت لازم الاجراست. زیرا شما دوست دارید وب سایت خود را به کارخانه پولسازی تبدیل کنید. این واقعیت رویا نیست. هرکس این اصول را بداند به …