كود او شفرة تحميل الملفات في برمجة صفحات الويب آي إس بي ASP.NET File Uploading

كود او شفرة تحميل الملفات في برمجة صفحات الويب آي إس بي 

ASP.NET File Uploading



كود او شفرة تحميل الملفات في برمجة صفحات الويب آي إس بي ASP.NET File Uploading

يحتوي ASP.NET على عنصري تحكم يتيحان للمستخدمين تحميل الملفات إلى خادم الويب.  بمجرد أن يستلم الخادم بيانات الملف المنشورة ، يمكن للتطبيق حفظها أو التحقق منها أو تجاهلها.  عناصر التحكم التالية تسمح بتحميل الملف:
  • HtmlInputFile - و HTML خادم التحكم
  • FileUpload - ومراقبة الويب ASP.NET
يسمح كلا التحكمين بتحميل الملف ، لكن عنصر التحكم FileUpload يقوم تلقائيًا بتعيين تشفير النموذج ، في حين أن HtmlInputFile لا يقوم بذلك.

 في هذا البرنامج التعليمي ، نستخدم عنصر التحكم FileUpload.  يسمح عنصر التحكم FileUpload للمستخدم بالتصفح وتحديد الملف المراد تحميله ، مع توفير زر استعراض ومربع نص لإدخال اسم الملف.

 بمجرد أن يدخل المستخدم اسم الملف في مربع النص عن طريق كتابة الاسم أو التصفح ، يمكن استدعاء أسلوب SaveAs لعنصر التحكم FileUpload لحفظ الملف على القرص.

 بناء الجملة الأساسي لـ FileUpload هو:
 ID= "Uploader" runat = "server" />

فئة FileUpload مشتقة من فئة WebControl ، وترث جميع أعضائها.  بصرف النظر عن هؤلاء ، تحتوي فئة FileUpload على خصائص للقراءة فقط التالية:
الخصائص الوصف
FileBytesإرجاع مجموعة من وحدات البايت في ملف ليتم تحميلها.
FileContentإرجاع كائن الدفق الذي يشير إلى الملف المراد تحميله.
FileNameإرجاع اسم الملف المراد تحميله.
HasFileلتحديد ما إذا كان عنصر التحكم لديه ملف للتحميل.
PostedFileإرجاع مرجع إلى الملف الذي تم تحميله.
يتم تغليف الملف المنشور في كائن من النوع HttpPostedFile ، والذي يمكن الوصول إليه من خلال خاصية ShareFile لفئة FileUpload.

 فئة HttpPostedFile تحتوي الخصائص التالية بشكل متكرر:ف
الخصائص الوصف
ContentLengthإرجاع حجم الملف الذي تم تحميله بالبايت.
ContentTypeإرجاع نوع MIME للملف الذي تم تحميله.
FileNameإرجاع اسم الملف الكامل.
InputStreamإرجاع كائن التدفق الذي يشير إلى الملف الذي تم تحميله.

مثال Example

يوضح المثال التالي عنصر التحكم FileUpload وخصائصه.  يحتوي النموذج على عنصر تحكم FileUpload مع زر حفظ وعنصر تحكم في التسمية لعرض اسم الملف ونوع الملف وطول الملف.

 في طريقة العرض "تصميم" ، يبدو النموذج كما يلي:
File Upload
الكود التصميمي 

   
id="form1" runat="server">

File Upload:

/> ID="FileUpload1" runat="server" />
/>
/> ID="btnsave" runat="server" onclick="btnsave_Click" Text="Save" style="width:85px" />
/>
/> ID="lblmessage" runat="server" />


الكود البرمجي 
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("" + FileUpload1.FileName);
      
         //Showing the file information
         sb.AppendFormat("
 Save As: {0}",  FileUpload1.PostedFile.FileName);
         sb.AppendFormat("
 File type: {0}",    FileUpload1.PostedFile.ContentType);
         sb.AppendFormat("
 File length: {0}",  FileUpload1.PostedFile.ContentLength);
         sb.AppendFormat("
 File name: {0}",  FileUpload1.PostedFile.FileName);
         
      }catch (Exception ex)
      {
         sb.Append("
 Error 
");
         sb.AppendFormat("Unable to save file 
 {0}", ex.Message);
      }
   }
   else
   {
      lblmessage.Text = sb.ToString();
   }
}

لاحظ ما يلي:

 الفئة StringBuilder مشتقة من مساحة الاسم System.IO ، لذلك يجب تضمينها.

 يتم استخدام كتل try و catch لاقتناص  الأخطاء ، وعرض رسالة الخطأ.