PDA

View Full Version : آموزش: انتخاب فقط عکس توسط کاربر در FileUpload



ایمان مدائنی
دوشنبه 30 اردیبهشت 1392, 21:50 عصر
سلام دوستان

امروز میخوام یادتون بدن چطوری کاری کنید که کاربر بتونه فقط عکس توسط FileUpload انتخاب کنه
http://madaeny.com/ImagesArticle/68b68391456a4321a14ee8fb6de3136d.jpg
برای اینکار یک CustomValidator روی میندازیم

سپس در کد های اون مینویسیم


HttpPostedFile myPostedFile = FileUpload1.PostedFile;
if (myPostedFile != null && myPostedFile.ContentLength > 0)
{
FileInfo finfo = new FileInfo(myPostedFile.FileName);
string fileExtension = finfo.Extension.ToLower();
if (fileExtension == ".gif" || fileExtension == ".jpg" || fileExtension == ".jpeg" ||
fileExtension == ".png")
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}

کد زیر چک میکنه اگه عکس بود Validator معتبر میشه ولی اگه نبود پیغام لطفا فقط عکس انتخاب کنید نمایش داده میشه



البته باRegularExpressionValidator میشه اینکار رو بدون PostBack انجام داد ولی اگه کاربر JavaScript مروگرشو غیر فعال کنه خیلی راحت دور زده میشه و فایل مورد نظر اون ذخیره میشه



براتون نمونه هم ضمیمه کردم

موفق و پیروز باشید

منبع مقاله :Madaeny.com (http://www.madaeny.com/)

fakhravari
دوشنبه 30 اردیبهشت 1392, 23:45 عصر
روش مطمئن نیست.
روش بهتری نیست؟

mirahsani
سه شنبه 31 اردیبهشت 1392, 11:18 صبح
آیا این کد خلاصه تر و بهتر نیست؟


if(UploadFileName.FileName.EndWith(".jpg"))
comment...

علی متقی پور
سه شنبه 31 اردیبهشت 1392, 11:45 صبح
مهندس عزیز بهتر نیست از طریق Mime تایپ ها شرط بذاریم؟

ایمان مدائنی
سه شنبه 31 اردیبهشت 1392, 13:09 عصر
روش مطمئن نیست.
روش بهتری نیست؟
شما بگو چرا مطمئن نیست ؟
اگه چیزی میگی دلیل براش بیار

ایمان مدائنی
سه شنبه 31 اردیبهشت 1392, 13:10 عصر
آیا این کد خلاصه تر و بهتر نیست؟


if(UploadFileName.FileName.EndWith(".jpg"))
comment...

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

برای اینجور کارها کلی کتابخانه و کد وجود داره این هم یکی از راه هاش بود

bitcob589
سه شنبه 31 اردیبهشت 1392, 14:16 عصر
سلام دوستان

امروز میخوام یادتون بدن چطوری کاری کنید که کاربر بتونه فقط عکس توسط FileUpload انتخاب کنه
http://madaeny.com/ImagesArticle/68b68391456a4321a14ee8fb6de3136d.jpg
برای اینکار یک CustomValidator روی میندازیم

سپس در کد های اون مینویسیم


HttpPostedFile myPostedFile = FileUpload1.PostedFile;
if (myPostedFile != null && myPostedFile.ContentLength > 0)
{
FileInfo finfo = new FileInfo(myPostedFile.FileName);
string fileExtension = finfo.Extension.ToLower();
if (fileExtension == ".gif" || fileExtension == ".jpg" || fileExtension == ".jpeg" ||
fileExtension == ".png")
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}

کد زیر چک میکنه اگه عکس بود Validator معتبر میشه ولی اگه نبود پیغام لطفا فقط عکس انتخاب کنید نمایش داده میشه



البته باRegularExpressionValidator میشه اینکار رو بدون PostBack انجام داد ولی اگه کاربر JavaScript مروگرشو غیر فعال کنه خیلی راحت دور زده میشه و فایل مورد نظر اون ذخیره میشه



براتون نمونه هم ضمیمه کردم

موفق و پیروز باشید

منبع مقاله :Madaeny.com (http://www.madaeny.com/)

چگونه می توان فرمت فایلهای که در FileUpload قرار می گیرند به صورت دینامیک توسط مدیر سایت قابل تغییر باشد.

fakhravari
سه شنبه 31 اردیبهشت 1392, 14:16 عصر
به راحتی با تغیر فرمت میشه دورش زد.
من تغیر نام فایل و فرمت تست کردم و راهی پیدا نکردم.

ایمان مدائنی
سه شنبه 31 اردیبهشت 1392, 14:26 عصر
دوست من خب اینطور بله

زمان قدیم هم ویروس ها رو روی تصاویر میذاشتن و ارسال میکردن

این برای شما که برنامه نویس هستی و به ذهنت میرسه که پسوند رو عوض کنی صدق میکنه
ولی کاربر عادی چی ؟؟؟

در کل از نظر من بهتر از هیچیه ...

بارها پیش اومده بعضی فایل های دیگه جای تصویر به سایت ارسال کردن و مجبور به پاک کردن اونها میشدیم

حداقل اینجوری تعداد اونها به نصف رسید

برای چک کردن اینکه تصویر باشه و مطمئن هم باشه پروسس تصویر است که مطمئن ترین راه است و دیگه کاربر چیزی جز تصویر نمیتونه ارسال کنه
ولی خب پروسس تصویر حافظه زیادی اشغال میکنه که با این هاست های زیقی به کار ما نمیاد

علی متقی پور
سه شنبه 31 اردیبهشت 1392, 17:10 عصر
مهندس عزیزم اصلا نیازی به این کارها نیست. شما اگر از طریق Mime تایپ ها بری جلو دیگه سیستم به پسوند فایل نگاه نمیکنه و خودش پسوند واقعی رو استخراج میکنه.

mahdidabaghi
سه شنبه 31 اردیبهشت 1392, 17:36 عصر
مهندس عزیزم اصلا نیازی به این کارها نیست. شما اگر از طریق Mime تایپ ها بری جلو دیگه سیستم به پسوند فایل نگاه نمیکنه و خودش پسوند واقعی رو استخراج میکنه.
مهندس میشه یه نمونه بذاری ؟؟؟؟؟؟؟؟

fakhravari
سه شنبه 31 اردیبهشت 1392, 18:19 عصر
مهندس عزیزم اصلا نیازی به این کارها نیست. شما اگر از طریق Mime تایپ ها بری جلو دیگه سیستم به پسوند فایل نگاه نمیکنه و خودش پسوند واقعی رو استخراج میکنه.
برسی string contentType = FileUpload1.PostedFile.ContentType
هم فایده ای نداره.

fakhravari
سه شنبه 31 اردیبهشت 1392, 18:20 عصر
public class MimeMapping
{
private static Dictionary<string, string> ExtensionMap = new Dictionary<string, string>();

static MimeMapping()
{
ExtensionMap.Add(".323", "text/h323");
ExtensionMap.Add(".asx", "video/x-ms-asf");
ExtensionMap.Add(".acx", "application/internet-property-stream");
ExtensionMap.Add(".ai", "application/postscript");
ExtensionMap.Add(".aif", "audio/x-aiff");
ExtensionMap.Add(".aiff", "audio/aiff");
ExtensionMap.Add(".axs", "application/olescript");
ExtensionMap.Add(".aifc", "audio/aiff");
ExtensionMap.Add(".asr", "video/x-ms-asf");
ExtensionMap.Add(".avi", "video/x-msvideo");
ExtensionMap.Add(".asf", "video/x-ms-asf");
ExtensionMap.Add(".au", "audio/basic");
ExtensionMap.Add(".application", "application/x-ms-application");
ExtensionMap.Add(".bin", "application/octet-stream");
ExtensionMap.Add(".bas", "text/plain");
ExtensionMap.Add(".bcpio", "application/x-bcpio");
ExtensionMap.Add(".bmp", "image/bmp");
ExtensionMap.Add(".cdf", "application/x-cdf");
ExtensionMap.Add(".cat", "application/vndms-pkiseccat");
ExtensionMap.Add(".crt", "application/x-x509-ca-cert");
ExtensionMap.Add(".c", "text/plain");
ExtensionMap.Add(".css", "text/css");
ExtensionMap.Add(".cer", "application/x-x509-ca-cert");
ExtensionMap.Add(".crl", "application/pkix-crl");
ExtensionMap.Add(".cmx", "image/x-cmx");
ExtensionMap.Add(".csh", "application/x-csh");
ExtensionMap.Add(".cod", "image/cis-cod");
ExtensionMap.Add(".cpio", "application/x-cpio");
ExtensionMap.Add(".clp", "application/x-msclip");
ExtensionMap.Add(".crd", "application/x-mscardfile");
ExtensionMap.Add(".deploy", "application/octet-stream");
ExtensionMap.Add(".dll", "application/x-msdownload");
ExtensionMap.Add(".dot", "application/msword");
ExtensionMap.Add(".doc", "application/msword");
ExtensionMap.Add(".dvi", "application/x-dvi");
ExtensionMap.Add(".dir", "application/x-director");
ExtensionMap.Add(".dxr", "application/x-director");
ExtensionMap.Add(".der", "application/x-x509-ca-cert");
ExtensionMap.Add(".dib", "image/bmp");
ExtensionMap.Add(".dcr", "application/x-director");
ExtensionMap.Add(".disco", "text/xml");
ExtensionMap.Add(".exe", "application/octet-stream");
ExtensionMap.Add(".etx", "text/x-setext");
ExtensionMap.Add(".evy", "application/envoy");
ExtensionMap.Add(".eml", "message/rfc822");
ExtensionMap.Add(".eps", "application/postscript");
ExtensionMap.Add(".flr", "x-world/x-vrml");
ExtensionMap.Add(".fif", "application/fractals");
ExtensionMap.Add(".gtar", "application/x-gtar");
ExtensionMap.Add(".gif", "image/gif");
ExtensionMap.Add(".gz", "application/x-gzip");
ExtensionMap.Add(".hta", "application/hta");
ExtensionMap.Add(".htc", "text/x-component");
ExtensionMap.Add(".htt", "text/webviewhtml");
ExtensionMap.Add(".h", "text/plain");
ExtensionMap.Add(".hdf", "application/x-hdf");
ExtensionMap.Add(".hlp", "application/winhlp");
ExtensionMap.Add(".html", "text/html");
ExtensionMap.Add(".htm", "text/html");
ExtensionMap.Add(".hqx", "application/mac-binhex40");
ExtensionMap.Add(".isp", "application/x-internet-signup");
ExtensionMap.Add(".iii", "application/x-iphone");
ExtensionMap.Add(".ief", "image/ief");
ExtensionMap.Add(".ivf", "video/x-ivf");
ExtensionMap.Add(".ins", "application/x-internet-signup");
ExtensionMap.Add(".ico", "image/x-icon");
ExtensionMap.Add(".jpg", "image/jpeg");
ExtensionMap.Add(".jfif", "image/pjpeg");
ExtensionMap.Add(".jpe", "image/jpeg");
ExtensionMap.Add(".jpeg", "image/jpeg");
ExtensionMap.Add(".js", "application/x-javascript");
ExtensionMap.Add(".lsx", "video/x-la-asf");
ExtensionMap.Add(".latex", "application/x-latex");
ExtensionMap.Add(".lsf", "video/x-la-asf");
ExtensionMap.Add(".manifest", "application/x-ms-manifest");
ExtensionMap.Add(".mhtml", "message/rfc822");
ExtensionMap.Add(".mny", "application/x-msmoney");
ExtensionMap.Add(".mht", "message/rfc822");
ExtensionMap.Add(".mid", "audio/mid");
ExtensionMap.Add(".mpv2", "video/mpeg");
ExtensionMap.Add(".man", "application/x-troff-man");
ExtensionMap.Add(".mvb", "application/x-msmediaview");
ExtensionMap.Add(".mpeg", "video/mpeg");
ExtensionMap.Add(".m3u", "audio/x-mpegurl");
ExtensionMap.Add(".mdb", "application/x-msaccess");
ExtensionMap.Add(".mpp", "application/vnd.ms-project");
ExtensionMap.Add(".m1v", "video/mpeg");
ExtensionMap.Add(".mpa", "video/mpeg");
ExtensionMap.Add(".me", "application/x-troff-me");
ExtensionMap.Add(".m13", "application/x-msmediaview");
ExtensionMap.Add(".movie", "video/x-sgi-movie");
ExtensionMap.Add(".m14", "application/x-msmediaview");
ExtensionMap.Add(".mpe", "video/mpeg");
ExtensionMap.Add(".mp2", "video/mpeg");
ExtensionMap.Add(".mov", "video/quicktime");
ExtensionMap.Add(".mp3", "audio/mpeg");
ExtensionMap.Add(".mpg", "video/mpeg");
ExtensionMap.Add(".ms", "application/x-troff-ms");
ExtensionMap.Add(".nc", "application/x-netcdf");
ExtensionMap.Add(".nws", "message/rfc822");
ExtensionMap.Add(".oda", "application/oda");
ExtensionMap.Add(".ods", "application/oleobject");
ExtensionMap.Add(".pmc", "application/x-perfmon");
ExtensionMap.Add(".p7r", "application/x-pkcs7-certreqresp");
ExtensionMap.Add(".p7b", "application/x-pkcs7-certificates");
ExtensionMap.Add(".p7s", "application/pkcs7-signature");
ExtensionMap.Add(".pmw", "application/x-perfmon");
ExtensionMap.Add(".ps", "application/postscript");
ExtensionMap.Add(".p7c", "application/pkcs7-mime");
ExtensionMap.Add(".pbm", "image/x-portable-bitmap");
ExtensionMap.Add(".ppm", "image/x-portable-pixmap");
ExtensionMap.Add(".pub", "application/x-mspublisher");
ExtensionMap.Add(".pnm", "image/x-portable-anymap");
ExtensionMap.Add(".pml", "application/x-perfmon");
ExtensionMap.Add(".p10", "application/pkcs10");
ExtensionMap.Add(".pfx", "application/x-pkcs12");
ExtensionMap.Add(".p12", "application/x-pkcs12");
ExtensionMap.Add(".pdf", "application/pdf");
ExtensionMap.Add(".pps", "application/vnd.ms-powerpoint");
ExtensionMap.Add(".p7m", "application/pkcs7-mime");
ExtensionMap.Add(".pko", "application/vndms-pkipko");
ExtensionMap.Add(".ppt", "application/vnd.ms-powerpoint");
ExtensionMap.Add(".pmr", "application/x-perfmon");
ExtensionMap.Add(".pma", "application/x-perfmon");
ExtensionMap.Add(".pot", "application/vnd.ms-powerpoint");
ExtensionMap.Add(".prf", "application/pics-rules");
ExtensionMap.Add(".pgm", "image/x-portable-graymap");
ExtensionMap.Add(".qt", "video/quicktime");
ExtensionMap.Add(".ra", "audio/x-pn-realaudio");
ExtensionMap.Add(".rgb", "image/x-rgb");
ExtensionMap.Add(".ram", "audio/x-pn-realaudio");
ExtensionMap.Add(".rmi", "audio/mid");
ExtensionMap.Add(".ras", "image/x-cmu-raster");
ExtensionMap.Add(".roff", "application/x-troff");
ExtensionMap.Add(".rtf", "application/rtf");
ExtensionMap.Add(".rtx", "text/richtext");
ExtensionMap.Add(".sv4crc", "application/x-sv4crc");
ExtensionMap.Add(".spc", "application/x-pkcs7-certificates");
ExtensionMap.Add(".setreg", "application/set-registration-initiation");
ExtensionMap.Add(".snd", "audio/basic");
ExtensionMap.Add(".stl", "application/vndms-pkistl");
ExtensionMap.Add(".setpay", "application/set-payment-initiation");
ExtensionMap.Add(".stm", "text/html");
ExtensionMap.Add(".shar", "application/x-shar");
ExtensionMap.Add(".sh", "application/x-sh");
ExtensionMap.Add(".sit", "application/x-stuffit");
ExtensionMap.Add(".spl", "application/futuresplash");
ExtensionMap.Add(".sct", "text/scriptlet");
ExtensionMap.Add(".scd", "application/x-msschedule");
ExtensionMap.Add(".sst", "application/vndms-pkicertstore");
ExtensionMap.Add(".src", "application/x-wais-source");
ExtensionMap.Add(".sv4cpio", "application/x-sv4cpio");
ExtensionMap.Add(".tex", "application/x-tex");
ExtensionMap.Add(".tgz", "application/x-compressed");
ExtensionMap.Add(".t", "application/x-troff");
ExtensionMap.Add(".tar", "application/x-tar");
ExtensionMap.Add(".tr", "application/x-troff");
ExtensionMap.Add(".tif", "image/tiff");
ExtensionMap.Add(".txt", "text/plain");
ExtensionMap.Add(".texinfo", "application/x-texinfo");
ExtensionMap.Add(".trm", "application/x-msterminal");
ExtensionMap.Add(".tiff", "image/tiff");
ExtensionMap.Add(".tcl", "application/x-tcl");
ExtensionMap.Add(".texi", "application/x-texinfo");
ExtensionMap.Add(".tsv", "text/tab-separated-values");
ExtensionMap.Add(".ustar", "application/x-ustar");
ExtensionMap.Add(".uls", "text/iuls");
ExtensionMap.Add(".vcf", "text/x-vcard");
ExtensionMap.Add(".wps", "application/vnd.ms-works");
ExtensionMap.Add(".wav", "audio/wav");
ExtensionMap.Add(".wrz", "x-world/x-vrml");
ExtensionMap.Add(".wri", "application/x-mswrite");
ExtensionMap.Add(".wks", "application/vnd.ms-works");
ExtensionMap.Add(".wmf", "application/x-msmetafile");
ExtensionMap.Add(".wcm", "application/vnd.ms-works");
ExtensionMap.Add(".wrl", "x-world/x-vrml");
ExtensionMap.Add(".wdb", "application/vnd.ms-works");
ExtensionMap.Add(".wsdl", "text/xml");
ExtensionMap.Add(".xml", "text/xml");
ExtensionMap.Add(".xlm", "application/vnd.ms-excel");
ExtensionMap.Add(".xaf", "x-world/x-vrml");
ExtensionMap.Add(".xla", "application/vnd.ms-excel");
ExtensionMap.Add(".xls", "application/vnd.ms-excel");
ExtensionMap.Add(".xof", "x-world/x-vrml");
ExtensionMap.Add(".xlt", "application/vnd.ms-excel");
ExtensionMap.Add(".xlc", "application/vnd.ms-excel");
ExtensionMap.Add(".xsl", "text/xml");
ExtensionMap.Add(".xbm", "image/x-xbitmap");
ExtensionMap.Add(".xlw", "application/vnd.ms-excel");
ExtensionMap.Add(".xpm", "image/x-xpixmap");
ExtensionMap.Add(".xwd", "image/x-xwindowdump");
ExtensionMap.Add(".xsd", "text/xml");
ExtensionMap.Add(".z", "application/x-compress");
ExtensionMap.Add(".zip", "application/x-zip-compressed");
ExtensionMap.Add(".*", "application/octet-stream");
}

public static string GetMimeMapping(string fileExtension)
{
if (ExtensionMap.ContainsKey(fileExtension))
return ExtensionMap[fileExtension];
else
return ExtensionMap[".*"];
}
}

mohammad kafiyan
سه شنبه 31 اردیبهشت 1392, 18:24 عصر
دوستان بیشتر توضیح بدهند


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

علی متقی پور
سه شنبه 31 اردیبهشت 1392, 19:03 عصر
دوستان بیشتر توضیح بدهند

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

این MIME TYPE هم از طریق خود فایل بدست میاد نه از طریق بررسی پسوند فایل ما.

کدش رو هم که آقای فخرآوری زحمتش رو کشیدن.
جزئیات فنی بیشترش هم از سطح سواد من بالاتره. شما فقط استفادش کن و بیخیال مسائل فنیش شو :)

اینو هم ببین

https://en.wikipedia.org/wiki/Internet_media_type

mehrab1387
سه شنبه 31 اردیبهشت 1392, 19:53 عصر
دوست عزیز اقای فخراوری ممنون از کدهاتون
میشه بگید دقیق چطور از این کلاس استفاده کنیم.
چه ورودی به تابع بدیم و خروجی رو چطور تست کنیم و به کاربر پیام بدیم.
کمی تازه کارم و الان نیازش دارم...
:(

علی متقی پور
سه شنبه 31 اردیبهشت 1392, 20:11 عصر
دوست عزیز اقای فخراوری ممنون از کدهاتون
میشه بگید دقیق چطور از این کلاس استفاده کنیم.
چه ورودی به تابع بدیم و خروجی رو چطور تست کنیم و به کاربر پیام بدیم.
کمی تازه کارم و الان نیازش دارم...
:(

البته شما سوالتون رو ظاهرا فقط از آقای فخرآوری پرسیدید ولی من برای سایر دوستانی که ممکنه هر زمانی این تاپیک رو بخونن عرض کنم اصلا به کلاسی که در بالا تعریف شده نیازی نیست. در واثع اون کلاس بالا یک دیکشنری کامل در این زمینه بدست میده که برای موراد کاربردی کم اصلا بهش نیازی نیست. وقتی ما میخواهیم عکس از کاربر بگیریم فوقش 3 تا Mime Type مجاز تعریف میکنیم و مثلا میگیم یا jpg باشه یا bmp یا Png. حالا بهر حال هر تعدادی که هست میتونیم Mime type اشون رو بدست بیاریم و تو شرط بگیم که اگر mime type اشون مطابق با اینها بود قبوش کنه.

mehrab1387
چهارشنبه 01 خرداد 1392, 07:40 صبح
ممنون
میشه یه مثال کوچیک بزنید.
من اماتور هستم
بیشتر یاد میگیرم

fakhravari
چهارشنبه 01 خرداد 1392, 09:18 صبح
ممنون
میشه یه مثال کوچیک بزنید.
من اماتور هستم
بیشتر یاد میگیرم

مقدار این string ببنید
string contentType = FileUpload1.PostedFile.ContentType

mehrab1387
چهارشنبه 01 خرداد 1392, 11:18 صبح
http://barnamenevis.org/images/misc/quote_icon.png نوشته شده توسط a_mottaghi_pour http://barnamenevis.org/images/buttons/viewpost-left.png (http://barnamenevis.org/showthread.php?p=1773846#post1773846)
مهندس عزیزم اصلا نیازی به این کارها نیست. شما اگر از طریق Mime تایپ ها بری جلو دیگه سیستم به پسوند فایل نگاه نمیکنه و خودش پسوند واقعی رو استخراج میکنه.
برسی 1
string contentType = FileUpload1.PostedFile.ContentType




هم فایده ای نداره.

شما که گفتید فایده نداره این .....

z_software
سه شنبه 18 تیر 1392, 17:19 عصر
برسی string contentType = FileUpload1.PostedFile.ContentType
هم فایده ای نداره.
سلام، خسته نباشید،
اگه فایده نداره ، پس چی کار کنیم ؟؟؟
اگه mime type هم فایده نداره، پس چه طور میتونیم یه فایل آپلود داشته باشیم که امن باشه؟؟؟
برای داشتن یه فایل آپلود امن چی کار کنیم؟؟؟؟

General-Xenon
چهارشنبه 19 تیر 1392, 12:15 عصر
سلام
اینم یک راه حل دیگه
//flp = File Upload
try
{
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(new System.IO.MemoryStream(flp.FileBytes));
//Picture
}
catch
{
// No Picture
}

shahram8008
سه شنبه 05 شهریور 1392, 18:03 عصر
باسلام
دوست عزیز اقای فخرآوری منم استفاده از میم تایپ رو لازم دارم ضروری برای آپلود عکس.
میشه ازتون خواهش کنم بگین ازین کتابخانه ها که نوشتین چه جوری استفاده کنم....اگه یه مقدار ساده تر و مثالی تر بگین بسیار ممنون میشم ازتون.
باتشکر

fakhravari
سه شنبه 05 شهریور 1392, 19:21 عصر
باسلام
دوست عزیز اقای فخرآوری منم استفاده از میم تایپ رو لازم دارم ضروری برای آپلود عکس.
میشه ازتون خواهش کنم بگین ازین کتابخانه ها که نوشتین چه جوری استفاده کنم....اگه یه مقدار ساده تر و مثالی تر بگین بسیار ممنون میشم ازتون.
باتشکر
لیستی از ContentType درست کنید و با یک حلقه میتونید برسی کنید.
اگر FileUpload1.PostedFile.ContentType فایل بگیری میشه مثلا image/jpeg

fakhravari
چهارشنبه 07 اسفند 1392, 23:22 عصر
<div>

<asp:FileUpload ID="FileUpload1" runat="server" />
<br />
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
<br />
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>

</div>
<p>
&nbsp;</p>
<p>
&nbsp;</p>
<p>
&nbsp;</p>
<p>
&nbsp;</p>
<asp:Label ID="Label2" runat="server" Text=""></asp:Label>

protected void Button1_Click(object sender, EventArgs e)
{
if (MimeMapping.GetMimeMapping(FileUpload1.PostedFile .ContentType) != "application/octet-stream")
Label1.Text = "مجاز : " + FileUpload1.PostedFile.FileName;
else
Label1.Text = "غیر مجاز: " + FileUpload1.PostedFile.FileName;



Label2.Text = FileUpload1.PostedFile.ContentType;
}

mahdisky
پنج شنبه 08 اسفند 1392, 20:18 عصر
سلام
وقتی خودتون میگید که اینم راحت میشه با تغییر پسوند دورش زد و امن نیست (تمام اینها که بالا گفتین راحت با تغییر پسوند دور زده میشه)
خوب یه راه حل امن و کاربردی رو آموزش و توضیح بدین

fakhravari
پنج شنبه 08 اسفند 1392, 21:36 عصر
سلام
وقتی خودتون میگید که اینم راحت میشه با تغییر پسوند دورش زد و امن نیست (تمام اینها که بالا گفتین راحت با تغییر پسوند دور زده میشه)
خوب یه راه حل امن و کاربردی رو آموزش و توضیح بدین

پست 22 روش جالبی

kamranetemadi
جمعه 09 اسفند 1392, 14:02 عصر
string mimetype = MimeMapping.GetMimeMapping(FileUpload1.FileName);

bitcob589
جمعه 09 اسفند 1392, 17:04 عصر
string mimetype = MimeMapping.GetMimeMapping(FileUpload1.FileName);
کد پست قبل فرمت عکس درون فایل آپلود بر می گرداند چگونه خروجی پست قبل با کلاسی که در پست 13 است با هم بررسی کنیم اگر خروجی دستور پست قبل با کلاسی که در پست 13 بود برابر بود عکس پذیرفته شود و اگر اگر خروجی دستور پست قبل با کلاسی که در پست 13 برابر نبود عکس پذیرفته نشود
چگونه چنین کاری می توان پیاده سازی کرد