C#根据文件流判断文件类型

Posted 成败在我手

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#根据文件流判断文件类型相关的知识,希望对你有一定的参考价值。

判断文件真实的类型,不是通过扩展名来判断:

 

复制代码
         /// <summary>
        /// 判断文件格式
        /// http://www.cnblogs.com/babycool 
        /// </summary>
        /// <param name="filePath"></param>
        /// <returns></returns>
        public static bool IsAllowedExtension(string filePath)
        {

            FileStream stream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
            BinaryReader reader = new BinaryReader(stream);
            string fileclass = "";
           // byte buffer;
            try
            {
                
                //buffer = reader.ReadByte();
                //fileclass = buffer.ToString();
                //buffer = reader.ReadByte();
                //fileclass += buffer.ToString();

                for (int i = 0; i < 2; i++)
                {
                    fileclass += reader.ReadByte().ToString();
                }

            }
            catch (Exception)
            {

                throw;
            }

            if (fileclass == "255216")
            {
                return true;
            }
            else
            {
                return false;
            }

            /*文件扩展名说明
             * 255216 jpg
             * 208207 doc xls ppt wps
             * 8075 docx pptx xlsx zip
             * 5150 txt
             * 8297 rar
             * 7790 exe
             * 3780 pdf      
             * 
             * 4946/104116 txt
             * 7173        gif 
             * 255216      jpg
             * 13780       png
             * 6677        bmp
             * 239187      txt,aspx,asp,sql
             * 208207      xls.doc.ppt
             * 6063        xml
             * 6033        htm,html
             * 4742        js
             * 8075        xlsx,zip,pptx,mmap,zip
             * 8297        rar   
             * 01          accdb,mdb
             * 7790        exe,dll
             * 5666        psd 
             * 255254      rdp 
             * 10056       bt种子 
             * 64101       bat 
             * 4059        sgf    
             */

        }
复制代码

 

相关:

ASP.net判断上传文件类型的三种方法

 



原文链接:http://www.cnblogs.com/babycool/p/3531696.html

以上是关于C#根据文件流判断文件类型的主要内容,如果未能解决你的问题,请参考以下文章

C# 泛型是引用类型还是值类型,是根据啥判断?

是否可以动态编译和执行 C# 代码片段?

C# 判断MP3格式(除扩展名)

C# 使用压缩流和 Brotli

通过判断流的头 判断文件类型

C# 文件流 streamreader如何读取文本指定行的数据?