C#判断文件的真实格式
来源:互联网 发布:阿卢浮漂淘宝官网 编辑:程序博客网 时间:2024/05/20 23:34
近日做一个在线解压的插件,仅限制上传ZIP格式,自己尝试将原RAR的压缩包改扩展名为ZIP,骗过了扩展名验证,但在解压的时候出现了异常。于是在网上找验证文件真实格式的方法。
转自:http://blog.163.com/china__xuhua/blog/static/199723169201111161478889/
01
public
static
void
CheckTrueFileName()
02
{
03
string
path =
@"D:\Sheet1.doc"
;
04
System.IO.FileStream fs =
new
System.IO.FileStream(path, System.IO.FileMode.Open, System.IO.FileAccess.Read);
05
System.IO.BinaryReader r =
new
System.IO.BinaryReader(fs);
06
string
bx =
" "
;
07
byte
buffer;
08
try
09
{
10
buffer = r.ReadByte();
11
bx = buffer.ToString();
12
buffer = r.ReadByte();
13
bx += buffer.ToString();
14
}
15
catch
(Exception exc)
16
{
17
Console.WriteLine(exc.Message);
18
}
19
r.Close();
20
fs.Close();
21
//真实的文件类型
22
Console.WriteLine(bx);
23
//文件名,包括格式
24
Console.WriteLine(System.IO.Path.GetFileName(path));
25
//文件名, 不包括格式
26
Console.WriteLine(System.IO.Path.GetFileNameWithoutExtension(path));
27
//文件格式
28
Console.WriteLine(System.IO.Path.GetExtension(path));
29
Console.ReadLine();
30
}
通过上面的方法,可以获取到选定文件的格式编码,然后在根据文件格式编码就可以知道这个文件是否是想要的真实格式了。
01
public
enum
FileExtension
02
{
03
JPG = 255216,
04
GIF = 7173,
05
BMP = 6677,
06
PNG = 13780,
07
COM = 7790,
08
EXE = 7790,
09
DLL = 7790,
10
RAR = 8297,
11
ZIP = 8075,
12
XML = 6063,
13
HTML = 6033,
14
ASPX = 239187,
15
CS = 117115,
16
JS = 119105,
17
TXT = 210187,
18
SQL = 255254,
19
BAT = 64101,
20
BTSEED = 10056,
21
RDP = 255254,
22
PSD = 5666,
23
PDF = 3780,
24
CHM = 7384,
25
LOG = 70105,
26
REG = 8269,
27
HLP = 6395,
28
DOC = 208207,
29
XLS = 208207,
30
DOCX = 208207,
31
XLSX = 208207,
32
}
实例:string a=CheckTrueFileName();
if(a=="208207")那么这个文件就是excel文件。否则就不是。
本文出自 I'm 大宝,转载时请注明出处及相应链接。
- C#判断文件的真实格式
- C#判断文件的真实格式
- C#判断文件的真实格式
- C#简单判断文件的编码格式
- asp判断文件的真实类型
- 如何判断上传文件的真实类型
- java判断文件的真实类型
- 读取文件真实格式
- Python通过文件头来判断文件的真实类型
- Python通过文件头来判断文件的真实类型
- Python通过文件头来判断文件的真实类型
- 判断文件的编码格式
- 判断文件的编码格式
- C#判断是否存在已连接的真实网卡(NetConnectionStatus)
- delphi编程如何判断图片文件的真实类型?
- C#如何判断一个本地的XML文件的是格式正确的
- C#怎么判断一个文件的编码格式是UTF-8 without BOM的啊
- C#字符串格式判断
- PHP 内置的异常处理类
- HTTP与SOAP协议简介
- Web设计师必须掌握的六大设计策略
- 多线程总结
- CentOS Linux防火墙配置及关闭
- C#判断文件的真实格式
- Ubuntu12.04 快速安装FTP Server
- vmware上安装ubuntu10.04
- android MediaPlayer的基本使用方法
- [转]C#数字格式化输出
- C语言实现哈希表(key为整形变量)
- [转]C# Excel 创建、打开、读取、写入、保存的一般性代码
- Lua编程6章(V5.0)
- 快排相关