1. 通过文件的扩展名来判断。
这种方法比较简单,但若是有人故意改下文件扩展名,这种方法就不起作用了。

2.通过C#自身提供的方法来进行判断(判断某种确定的图片类型)。

示例如下:

bool isJPG = false;
System.Drawing.Image img = System.Drawing.Image.FromFile(filesName);
if ( img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg) )
{
  isJPG = true;
}

3.通过读取文件内容来判断。

所有的图片文件都包括:文件识别头和图象数据两部分,

其中文件识别头用来让计算机判断是哪种文件 格式。

JPEG格式:

所有的JPEG文件以字符串“0xFFD8”开头,并以字符串“0xFFD9”结束。依此便可判别是否是JPEG文件。

BMP格式:

BMP文件以字符串“0x4D42”开头

GIF格式:

gif头六个是 GIF89a或 GIF87a

最新文章

  1. grep及正则表达式
  2. 组合数取模Lucas定理及快速幂取模
  3. GDB调试多线程
  4. 微信公众平台开发(84) 小i机器人
  5. Yii 框架中带有区间的搜索
  6. 一些值得思考的"小题"一
  7. linux如何安装jdk
  8. Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the class path or specify proxy interfaces
  9. (转)在Eclipse中使用JUnit4进行单元测试
  10. 关于redis 缓存的问题
  11. JavaScript 动态添加div 绑定点击事件
  12. Cordova打包vue项目生成Apk (解决cordova build android抛出的zip问题)
  13. 定义和用法 DATEDIFF() 函数返回两个日期之间的天数
  14. FFmpeg基础库编程开发学习笔记——视频常见格式
  15. Python 2.7.9 Demo - 019.01.CRUD oracle by cx_Oracle
  16. python学习之路_字符编码
  17. 【Python】从1<2<3的语法糖说起
  18. Redis Web界面管理工具
  19. html的第一个程序
  20. 安装配置apache sentry服务

热门文章

  1. Android 面试之横竖屏切换的Activity生命周期
  2. Ambari——大数据平台的搭建利器(一)
  3. NOIP模拟 最佳序列 - 二分 + 单调队列
  4. leveldb学习:skiplist
  5. SpringMVC“Ambiguous mapping found. Cannot map 'XXXController' bean method”解决方法
  6. 【codeforces 534A】Exam
  7. for循环中setTimeout,var与let的不同
  8. Python: 图像处理的基本运算
  9. code first迁移(add-migration)的时候 后面信息不能有中文 中文报错 "不支持给定路径的格式。"
  10. C# WPF 一直保持多个Topmost窗体的置顶顺序