当前位置:  开发笔记 > 编程语言 > 正文

文件是图像吗?

如何解决《文件是图像吗?》经验,为你挑选了3个好方法。

在C#中,判断特定文件是否为图像的最佳方法是什么?



1> jjnguy..:

大多数图片格式在图像的前几个字节中指定文件类型.您可以读取几个字节并查找正确的标头.

文件扩展名在技术上不包含有关图像的任何重要数据.它只是帮助操作系统找出用于打开它的程序.(但是,检查extn可能是最简单的方法,通常也是正确的.)



2> Matt Grande..:

这没有经过测试,但它是这样的:

private string MimeType (string Filename)
{
    string mime = "[default]";
    string ext = GetExtension(Filename).ToLower();
    Microsoft.Win32.RegistryKey rk = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(ext);
    if (rk != null && rk.GetValue("Content Type") != null)
        mime = rk.GetValue("Content Type").ToString();
    return mime;
}

(对不起,自从我完成注册表工作以来已经有一段时间了)



3> 小智..:

我们这样做的方式(我现在无法找到确切的代码以便以下未经测试)是尝试将图像作为位图加载.如果失败,它不是图像

bool isImage;
try
{
  Bitmap.FromFile(filePath);
  isImage = true;
}
catch
{
  isImage = false;
}

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有