آموزش برنامه نویسی ، پایگاه داده sql server
آموزشگاه برنامه نویسی تحلیل داده : دوره های آموزشی برنامه نویسی و طراحی وب ASP.Net , C# , HTML , CSS , SQL Server


آموزشگاه برنامه نویسی مجتمع فنی تهران میرداماد : دوره های آموزشی برنامه نویسی و طراحی وب ASP.Net , C# , HTML , CSS , SQL Server

آموزش ASP.Net > کنترل های استاندارد ASP.Net > کنترل FileUpload
نحوه Upload کردن فایل ها توسط کنترل FileUpload در ASP.Net

Skip Navigation Links.

مقدمه :

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

نحوه ارسال یک فایل به سرور توسط کنترل FileUpload :

  1. یک کنترل FileUpload را از بخش کنترل های استاندارد منوی Toolbox بر روی صفحه قرار دهید .
  2. در یک مدیریت کننده رویداد صفحه ، مثل رویداد Page_Load کارهای زیر را انجام دهید :
    • مطمثن شوید که آیا کنترل مورد نظر شما دارای یک فایل برای آپلود به سرور است . به وسیله چک کرد خاصیت HasFile کنترل FileUpload .
    • نام یا نوع فایل آپلود شده را ( در صورت نیاز ) چک نمایید ، تا مطمئن شوید کاربر فایلی مطابق درخواست شما آپلود خواهد کرد . برای چک کردن نوع MIME فایل ، مقدار شی ایجاد شده HttpPostedFile  خاصیت PostFile را فراخوانی کنید . سپس می توانید به وسیله خاصیت ContentType فایل Post شده ، نوع آن را مشخص کرده و چک نمایید .
    • فایل آپلود شده را در مسیر مورد نظر خود ذخیره نمایید . برای این منظور می توانید متد SaveAs شی HttpPostedFile را فراخوانی کرده و یا فایل آپلود شده را به عنوان جرایانی از داده ها ( Bytes ) ، توسط خاصیت InputStream شی HttpPostedFile مدیریت نمایید .
      موارد فوق را در قالب مثال عملی زیر نشان داده ایم .

مثال عملی :

مثال : مثال زیر نحوه کامل کار با یک فایل آپلود شده را نشان می دهد . در مرحله اول کد طراحی شده ، نوع فایل را با مجموعه فایل های مجاز چک کرده و در صورت اشتباه بودن ، درخواست را کنسل می کند .
در مرحله دوم فایل آپلود شده در مسیر پوشه UploadedImages قرار می گیرد .
در مرحله بعدی فایل آپلود شده با همان نام اصلی خود که بر روی کامپیوتر کاربر است ، ذخیره می شود .
نکته مهم : توجه داشته باشید که برای تعیین نام فایل آپلود شده از خاصیت FileName کنترل FileUpload استفاده شده است . زیرا خاصیت FileName شی HttpPostedFile ، نام و مسیر کامل فایل را بر می گرداند و طولانی است ! .

VB کد Protected Sub Page_Load(ByVal sender As Object,  ByVal e As System.EventArgs) Handles Me.Load
  If IsPostBack Then
    Dim path As String = Server.MapPath("~/UploadedImages/")
    Dim fileOK As Boolean = False
       If FileUpload1.HasFile Then
          Dim fileExtension As String
          fileExtension = System.IO.Path. _
          GetExtension(FileUpload1.FileName).ToLower()
          Dim allowedExtensions As String() = {".jpg", ".jpeg", ".png", ".gif"}

          For i As Integer = 0 To allowedExtensions.Length - 1
              If fileExtension = allowedExtensions(i) Then
                  fileOK = True
              End If

          Next
              If fileOK Then
                Try
                    FileUpload1.PostedFile.SaveAs(path & FileUpload1.FileName)
                    Label1.Text = "File uploaded!"
                Catch ex As Exception
                    Label1.Text = "File could not be uploaded."
                End Try
              Else
                Label1.Text = "Cannot accept files of this type."
              End If

            End If
          End If
End Sub
C# کد protected void Page_Load(object sender, EventArgs e)
  {
    if(IsPostBack)
      {
          Boolean fileOK = false;
          String path = Server.MapPath("~/UploadedImages/");

            if (FileUpload1.HasFile)
              {
                  String fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
                  String[ ] allowedExtensions = {".gif", ".png", ".jpeg", ".jpg"};

                  for (int i = 0; i < allowedExtensions.Length; i++)
                    {
                        if (fileExtension == allowedExtensions[ i ])
                          {
                              fileOK = true;
                          }
                      }

                  }

            if (fileOK)
              {
                  try
                    {
                        FileUpload1.PostedFile.SaveAs(path + FileUpload1.FileName);
                        Label1.Text = "File uploaded!";
                    }
                  catch (Exception ex)
                    {
                        Label1.Text = "File could not be uploaded.";
                    }

                  }
              else
                  {
                        Label1.Text = "Cannot accept files of this type.";
                  }
               }
  }

Skip Navigation Links.

راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1 حمایت نمایید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :  
 
سوال امنیتی : پایتخت ایران ؟      
حمایت از سایت Developer1