اعتبار سنجی پسوند فایل آپلود شده در Asp.net
شنبه 15 فروردین 1394در این مقاله نحوه ایجاد اعتبار سنجی برای پسوند فایل قبل از آپلود در سمت کاربر را شدح خواهیم داد
گاهی اوقات کاربران می بایست فایلی با پسوند خاص را آپلود کنند و به سمت سرور ارسال نمایند .به عنوان مثال فایلی با پسوند 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"); } }
اگر پسوند فایل اشتباه باشد پیغام "پسوند فایل صحیح نمی باشد" در صفحه ظاهد می شود .
و اگر پسوند فایل درست انتخاب شود پیغام "پسوند فایل صحیح می باشد " نمایش داده میشود .
- ASP.net
- 2k بازدید
- 4 تشکر