//判断文件类型是否符合标准
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);
string fileclass = "";
byte buffer;
try
{
buffer = r.ReadByte();
fileclass = buffer.ToString();
buffer = r.ReadByte();
fileclass += buffer.ToString();
}
catch
{
}
r.Close();
fs.Close();
if (fileclass == "255216" || fileclass == "7173")//说明255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar
{
return true;
}
else
{
return false;
}
}
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);
string fileclass = "";
byte buffer;
try
{
buffer = r.ReadByte();
fileclass = buffer.ToString();
buffer = r.ReadByte();
fileclass += buffer.ToString();
}
catch
{
}
r.Close();
fs.Close();
if (fileclass == "255216" || fileclass == "7173")//说明255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 保存上传的文件
/// </summary>
/// <param name="fileType">要验证的文件类型</param>
/// <param name="lenghtKB">大小(单位:KB)</param>
/// <param name="filePath">保存的路径(绝对路径)</param>
/// <param name="upLoad">上传文件的控件</param>
/// <param name="fileName">成功:保存后的文件名.失败:错误信息</param>
/// <returns>是否保存成功</returns>
public static bool SaveFile(string fileType, int lenghtKB, string filePath, FileUpload upLoad, out string fileName)
{
//判断是否上传了文件
if (!upLoad.HasFile)
{
fileName = "无效的文件内容";
return false;
}
//判断文件大小
if (upLoad.PostedFile.ContentLength > lenghtKB * 1024)
{
fileName = "文件超过上传大小";
return false;
}
//文件类型
string type = upLoad.FileName;
string last = type.Substring(type.LastIndexOf('.') + 1);
type = upLoad.PostedFile.ContentType;
//type = type.Substring(type.LastIndexOf('.') + 1);
if (type.Substring(0, 5) != fileType)
{
fileName = "无效的文件类型";
return false;
}
DateTime date = DateTime.Now;
//生成文件名
fileName = date.Year.ToString() + date.Month.ToString() + date.Day.ToString() + date.Hour.ToString() +
date.Minute.ToString() + date.Second.ToString() + GetRandom().Next(0, 999) + "." + last;
upLoad.SaveAs(filePath + @"\" + fileName);
return true;
}