PDA

View Full Version : سوال: چک کردن عکس آپلود



mahdisky
جمعه 27 اردیبهشت 1392, 21:10 عصر
سلام
چطوری میشه عکس آپلود رو چک کردن که آیا واقعا عکس هست یا نه؟

mehrzad_ali
شنبه 28 اردیبهشت 1392, 01:15 صبح
دانلود کنید. کاملترین برنامه آپلود عکس که شامل ... (http://barnamenevis.org/showthread.php?278138-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%DA%A9%D9%86%DB%8C%D8%AF.-%DA%A9%D8%A7%D9%85%D9%84%D8%AA%D8%B1%DB%8C%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%A2%D9%BE%D9%84%D9%88%D8%AF-%D8%B9%DA%A9%D8%B3-%DA%A9%D9%87-%D8%B4%D8%A7%D9%85%D9%84-...)

mahdisky
شنبه 28 اردیبهشت 1392, 10:47 صبح
سلام ممنون
1- من با VS 2012 کار میکنم نیازی به کانورت داره یا خیر؟(که احیانا کار نکنه بعضی کداش)
2- فقط گفته بودین که پسوند عکس رو چک میکنه اما من می خوام که خود عکس رو هم چک کنه که آیا واقعا عکس هست یا خیر(مثلا یه کاربری یه فایل متنی رو فقط پسوندش رو عوض میکنه و jpg میذاره ولی واقعا عکس نیس)
اگر که فقط همین کد رو بذارین ممنون میشم.

mehrzad_ali
شنبه 28 اردیبهشت 1392, 11:28 صبح
بله کانورت کنیبد
تابع IsValidFileType تشخیص عکس رو میده

Dr.Bronx
شنبه 28 اردیبهشت 1392, 13:38 عصر
از Content Type استفاده کنید .

این لیست کامل Mime type ها هست : http://www.freeformatter.com/mime-types-list.html

مثلا PNG میشه : image/png

برای چک کردن


If FileUpload1.PostedFile.ContentType = "image/png" Then

'DO X

End If


موفق باشید ./

mahdisky
یک شنبه 30 تیر 1392, 14:12 عصر
ممنون من اینکار رو هم کردم ولی باز آپلود میکنه.
یعنی اینکه من یه فایل متنی(txt) رو پسوندش رو به عکس(jpg) عوض کردم ولی باز اونو عکس تشخیص داد و آپلود کرد.
چطوری میشه تشخیص داد که آیا واقعا عکس هست یا نه؟

Progman.ir
یک شنبه 30 تیر 1392, 20:02 عصر
ممنون من اینکار رو هم کردم ولی باز آپلود میکنه.
یعنی اینکه من یه فایل متنی(txt) رو پسوندش رو به عکس(jpg) عوض کردم ولی باز اونو عکس تشخیص داد و آپلود کرد.
چطوری میشه تشخیص داد که آیا واقعا عکس هست یا نه؟
تشخصی عکسی که در کد های قبلی دیدم ، ناشیانه و در حد پروژه دانشجویی بود.در همین موضوع که شما پرسیدین ، من هم مدتی تحقیق کردم درآخر خودم به این نتیجه رسیدم که بیام یکی از خواصی که فقط مختص تصاویر هست رو باهاش چک کنم.اگه ارور نداد یعنی حتما عکس بوده.حالا اون خاصیت چیه؟ اینکه بیاید از عکس یه Bitmap بگیرید و ارورش رو هم که میدونید با Try catch بگیرید.
اگه به catch رفتید یعنی این عکس نیست یا اینکه یه فایل دیگه مثلا exe هست که برای اینکه بتونن اپلودش کنن پسوندش رو rename کردن.به اینکار اصطلاحا میگن bitmap گرفتن از یه عکس.ساده و بدون پرانتز مینویسم
system.drawing.bitmap = new system.drawing.bitmap و جلوش توی پرانتز آدرس کامل اون تصویر .تمام