اعتبار سنجی پسوند فایل آپلود شده در Asp.net

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

اعتبار سنجی پسوند فایل آپلود شده در Asp.net

آکادمی برنامه نویسان ، برگزار کننده دوره های آموزش برنامه نویسی با استفاده از اساتید مجرب و حرفه ای در سراسر ایران .

[ جهت مشاهده دوره های درحال ثبت نام کلیک کنید ]

ارائه مدارک معتبر آموزشی و ورود به بازار کار .

گاهی اوقات کاربران می بایست فایلی با پسوند خاص را آپلود کنند و به سمت سرور ارسال نمایند .به عنوان مثال فایلی با پسوند photo , Word document , PDF یا غیره .

برای جلوگیری از این مشکالات ما باید پسوند فایل انتخاب شده توسط کاربر را در سمت کاربر اعتبار سنجی نماییم , برای این کار مطابق مراحل زیر عمل می کنیم :

ابتدا یک وب سایت با نام "Website1" در محیط ویژوال استودیو ایجاد میکنیم .

سپس یک صفحه با نام "Default.aspx" به پروژه اضافه می کنیم .

اکنون یک کنترل FileUpload با نام "FileUpload1" و یک کنترل button با نام "Upload" به صفحه اضافه کنیم .

از طریق تابع زیر پسوند فایل انتخاب شده توسط  کاربر را اعتبار سنجی می کنیم .برای این کار تابع زیر را در داخل تگ <Script> قرار میدهیم :

function GetExt()   
     {  
            var str = document.getElementById('FileUpload1').value;  
            var ext = str.substring(str.length - 3, str.length).toString();  
            extext = ext.toLowerCase();  
            if (ext == "pdf")
            {      
               alert("valid File")             
                return true;  
            }  
            else
            {  
                alert("Invalid File"); return false;  
            }  
        } 

سپس تابع تعریف شده را برای دکمه مورد نظر فرا خوانی می کنیم .

    OnClientClick="return GetExt();"  

 

اکنون پروژه را اجرا میکنیم , اگر فایلی با پسوند pdf انتخاب کنیم پیغام "پسوند فایل صحیح می باشد" نمایش داده می شود .

و اگر فایلی با پسوندی غیر از pdf انتخاب کنیم پیغام "پسوند فایل صحیح نمی باشد" نمایش داده میشود .

 

سپس اگر بخواهیم که در سمت سرور اعتبار سنجی شود ابتدا تابع تعریف شده در جاوا اسکریپت را حذف میکنیم و سپس در قسمت کد پشت صفحه کدهای زیر در رویداد کلیک دکمه را می نویسیم :

    protected void Button1_Click(object sender, EventArgs e)  
        {  
            string filename = Path.GetFileName(FileUpload1.PostedFile.FileName);  
            string extension = Path.GetExtension(filename);  
            string contentType = FileUpload1.PostedFile.ContentType;  
            HttpPostedFile file = FileUpload1.PostedFile;  
            byte[] document = new byte[file.ContentLength];  
            file.InputStream.Read(document, 0, file.ContentLength);  
      
            if (extension != ".pdf")  
            {  
                //  file is Invalid  
                Response.Write("This is Invalid Extension File");  
                return;  
            }         
            else  
            {             
                // upload the File because file is valid  
                Response.Write("This is valid File");  
            }  
        }  

اگر پسوند فایل اشتباه باشد پیغام "پسوند فایل صحیح نمی باشد" در صفحه ظاهد می شود .

و اگر پسوند فایل درست انتخاب شود پیغام "پسوند فایل صحیح می باشد " نمایش داده میشود .

 

 

 

فایل های ضمیمه