public static bool IsAllowedExtension(FileUpload hifile)
{
//System.IO.FileStream fs = new System.IO.FileStream(hifile.PostedFile.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
//System.IO.BinaryReader r = new System.IO.BinaryReader(fs);
int fileLen = hifile.PostedFile.ContentLength;
byte[] imgArray = new byte[fileLen];
hifile.PostedFile.InputStream.Read(imgArray, 0, fileLen);
System.IO.MemoryStream fs = new System.IO.MemoryStream(imgArray);
System.IO.BinaryReader r = new System.IO.BinaryReader(fs);
string fileclass = "";
byte buffer;
try
{
buffer = r.ReadByte();
fileclass = buffer.ToString();
buffer = r.ReadByte();
fileclass += buffer.ToString();
}
catch
{
return false;
}
r.Close();
fs.Close();
/*文件扩展名说明
jpg:255216
bmp:6677
gif:7173
xls,doc,ppt:208207
rar:8297
zip:8075
txt:98109
pdf:3780
*/
bool ret = false;
String[] fileType = { "255216", "6677", "7173", "208207", "8297", "8075", "98109", "3780" };
for (int i = 0; i < fileType.Length; i++)
{
if (fileclass == fileType[i])
{
ret = true;
break;
}
}
return ret;
}
ref:http://www.cnblogs.com/jueban/archive/2009/03/06/933121.html