• C# 根据文件流byte[]数组前两位 判断文件类型 附 文件扩展名说明


    判断文件真实的类型,不是通过扩展名来判断:而是通过byte[]数组前两位编码来判断,
    原文连接 https://www.cnblogs.com/Percy_Lee/p/4980451.html

    复制代码
             /// <summary>
            /// 判断文件格式
            /// http://www.cnblogs.com/babycool 
            /// </summary>
            /// <param name="filePath"></param>
            /// <returns></returns>
            public static bool IsAllowedExtension(string filePath)
            {
    
            FileStream stream </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> FileStream(filePath, FileMode.Open, FileAccess.Read);
            BinaryReader reader </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> BinaryReader(stream);
            </span><span style="color: #0000ff;">string</span> fileclass = <span style="color: #800000;">""</span><span style="color: #000000;">;
           </span><span style="color: #008000;">//</span><span style="color: #008000;"> byte buffer;</span>
            <span style="color: #0000ff;">try</span><span style="color: #000000;">
            {
                
                </span><span style="color: #008000;">//</span><span style="color: #008000;">buffer = reader.ReadByte();
                </span><span style="color: #008000;">//</span><span style="color: #008000;">fileclass = buffer.ToString();
                </span><span style="color: #008000;">//</span><span style="color: #008000;">buffer = reader.ReadByte();
                </span><span style="color: #008000;">//</span><span style="color: #008000;">fileclass += buffer.ToString();</span>
    
                <span style="color: #0000ff;">for</span> (<span style="color: #0000ff;">int</span> i = <span style="color: #800080;">0</span>; i &lt; <span style="color: #800080;">2</span>; i++<span style="color: #000000;">)
                {
                    fileclass </span>+=<span style="color: #000000;"> reader.ReadByte().ToString();
                }
    
            }
            </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (Exception)
            {
    
                </span><span style="color: #0000ff;">throw</span><span style="color: #000000;">;
            }
    
            </span><span style="color: #0000ff;">if</span> (fileclass == <span style="color: #800000;">"</span><span style="color: #800000;">255216</span><span style="color: #800000;">"</span><span style="color: #000000;">)
            {
                </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #000000;">;
            }
            </span><span style="color: #0000ff;">else</span><span style="color: #000000;">
            {
                </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #000000;">;
            }
    
            </span><span style="color: #008000;">/*</span><span style="color: #008000;">文件扩展名说明
             * 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    
             </span><span style="color: #008000;">*/</span><span style="color: #000000;">
    
        }</span></pre>
    
    复制代码
  • 相关阅读:
    玩转车联网1---初识OBD和行车助手
    Confluence DotNet API发布
    深入理解最强桌面地图控件GMAP.NET ---[更新]百度地图
    猜想豌豆夹,360手机助手,腾讯手机管家,小米盒子传屏等工具开发思路
    有用文章搜藏
    Hbase Region Server整体架构
    无密码ssh操作步骤备忘
    cgwin的ssh错误解决办法
    Java系列笔记(1)
    SQL四种语言:DDL,DML,DCL,TCL
  • 原文地址:https://www.cnblogs.com/sunny3158/p/11736156.html
Copyright © 2020-2023  润新知