توضیحات و دانلود

فیلتر کردن فایل ها براساس Extensions در FileUpload Control با ASP.Net
0 0
فیلتر کردن فایل ها براساس Extensions در FileUpload Control با ASP.Net

با سلام در این مقاله به توضیح چگونگی ایجاد یک فایل Extension File برای کنترل FileUpload  با ASP.Net می پردازیم

در موارد متعددی لازم است فقط انواع فایل انتخابی را آپلود کرده و ما بقی را رد کنید

در این مقاله، هر دو مورد تأیید صحت و Server Side را با استفاده از پسوندهای خود توضیح خواهیم داد

 

 تأیید اعتبار سمت کاربر با جاوا اسکریپت

<script type ="text/javascript">

    var validFilesTypes=["bmp","gif","png","jpg","jpeg","doc","xls"];

    function ValidateFile()

    {

      var file = document.getElementById("<%=FileUpload1.ClientID%>");

      var label = document.getElementById("<%=Label1.ClientID%>");

      var path = file.value;

      var ext=path.substring(path.lastIndexOf(".")+1,path.length).toLowerCase();

      var isValidFile = false;

      for (var i=0; i<validFilesTypes.length; i++)

      {

        if (ext==validFilesTypes[i])

        {

            isValidFile=true;

            break;

        }

      }

      if (!isValidFile)

      {

        label.style.color="red";

        label.innerHTML="Invalid File. Please upload a File with" +

         " extension:\n\n"+validFilesTypes.join(", ");

      }

      return isValidFile;

     }

</script>

همانطور که در بالا می بینید  یک آرایه validFileTypes دارد که در آن  پسوند فایل هایی را که به کاربر اجازه آپلود بر اساس آن را میخواهیم بدهیم ذخیره میکنیم. سپس از طریق حلقه For آرایه را پیمایش میکند و در صورتی که با کاربر مطابقت نداشته باشد، یک فایل معتبر را انتخاب می کند.

شما می توانید پسوند نوع فایل را که میخواهید به آرایه دهید، همانطور که در GIF متحرک زیر نشان داده شده است، اضافه کنید.

 

 

چک کردن اعتبار سنجی سمت سرور

C #

protected void btnUpload_Click(object sender, EventArgs e)

{

    string[] validFileTypes={"bmp","gif","png","jpg","jpeg","doc","xls"};

    string ext = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName);  

    bool isValidFile = false;

    for (int i = 0; i < validFileTypes.Length; i++)

    {

        if (ext == "." + validFileTypes[i] )

        {

            isValidFile = true;

            break;

        }

    }

    if (!isValidFile)

    {

        Label1.ForeColor = System.Drawing.Color.Red;

        Label1.Text = "Invalid File. Please upload a File with extension " +

                       string.Join(",", validFileTypes);

    }

    else

    {

        Label1.ForeColor = System.Drawing.Color.Green;    

        Label1.Text = "File uploaded successfully.";

    }

}

VB.Net

Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As System.EventArgs)

 Dim validFileTypes As String() = {"bmp","gif","png","jpg", "jpeg","doc","xls"}

 Dim ext As String = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName)

 Dim isValidFile As Boolean = False

 For i As Integer = 0 To validFileTypes.Length - 1

    If ext = "." & validFileTypes(i) Then

        isValidFile = True

        Exit For

    End If

 Next

 If Not isValidFile Then

    Label1.ForeColor = System.Drawing.Color.Red

    Label1.Text = "Invalid File. Please upload a File with extension " & _

                  String.Join(",", validFileTypes)

 Else

    Label1.ForeColor = System.Drawing.Color.Green

    Label1.Text = "File uploaded successfully."

 End If

End Sub

همانطور که متوجه می شوید، اعتبارسنجی Extension File File Server همچنین از همان منطق استفاده شده در سمت کاربر که با جاوا اسکریپت در بالا نوشته شده  استفاده می کند. در اینجا همچنین من یک آرایه رشته ای از پسوندهای معتبر فایل را نگهداری می کنم و سپس آن را با فرمت فایل آپلود شده مطابقت می دهم. بررسی Validation Side Server اطمینان می دهد که حتی اگر بررسی Client Side نتواند انجام شود، می توان آن را از سمت سرور اعتبار سنجی کرد . 

 هر دو روش سمت سرور و سمت کاربر را در یک دکمه قرار داده ایم . همچنین از یک Label استفاده کرده ایم که پیام خطا یا پیام را نمایش می دهد.

<asp:FileUpload ID="FileUpload1" runat="server" />

<asp:Button ID="btnUpload" runat="server" Text="Upload" 

   OnClientClick = "return ValidateFile()"  OnClick="btnUpload_Click"  />

<br />

<asp:Label ID="Label1" runat="server" Text="" />

 


دانلود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

ارسال نظر
ارسال پیام به :