C#校验文件真实类型(备用)

校验文件真实类型方法:

 1  /// <summary>
 2     /// C#检测真实文件类型函数
 3     /// </summary>
 4     /// <param name="hifile"></param>
 5     /// <returns></returns>
 6     private bool IsAllowedExtension(HttpPostedFile hifile)
 7     {
 8         bool ret = false;
 9 
10         System.IO.FileStream fs = new System.IO.FileStream(hifile.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
11         System.IO.BinaryReader r = new System.IO.BinaryReader(fs);
12         string fileclass = "";
13         byte buffer;
14         try
15         {
16             buffer = r.ReadByte();
17             fileclass = buffer.ToString();
18             buffer = r.ReadByte();
19             fileclass += buffer.ToString();
20         }
21         catch
22         {
23             return false;
24         }
25         r.Close();
26         fs.Close();
27         /*文件扩展名说明
28          *4946/104116 txt
29          *7173        gif 
30          *255216      jpg
31          *13780       png
32          *6677        bmp
33          *239187      txt,aspx,asp,sql
34          *208207      xls.doc.ppt
35          *6063        xml
36          *6033        htm,html
37          *4742        js
38          *8075        xlsx,zip,pptx,mmap,zip
39          *8297        rar   
40          *01          accdb,mdb
41          *7790        exe,dll           
42          *5666        psd 
43          *255254      rdp 
44          *10056       bt种子 
45          *64101       bat 
46          *4059        sgf
47          */
48 
49 
50         //String[] fileType = { "255216", "7173", "6677", "13780", "8297", "5549", "870", "87111", "8075" };
51 
52         //纯图片
53         String[] fileType = { 
54             "7173",    //gif
55             "255216",  //jpg
56             "13780"    //png
57         };
58 
59         for (int i = 0; i < fileType.Length; i++)
60         {
61             if (fileclass == fileType[i])
62             {
63                 ret = true;
64                 break;
65             }
66         }
67         Response.Write(fileclass);//可以在这里输出你不知道的文件类型的扩展名
68         return ret;
69     }

 

 

posted @ 2013-12-06 16:37  小6的园子  阅读(706)  评论(0编辑  收藏  举报