通过HtmlInputFile控件上传文件的类

using System;
using System.Web.UI.HtmlControls;
using System.IO;

namespace Document.Bll
{
publicclassHtmlInputFileControl
{
HtmlInputFileControl#regionHtmlInputFileControl
publicHtmlInputFileControl()
{
}

#endregion


IsAllowedExtension是否允许该扩展名上传#regionIsAllowedExtension是否允许该扩展名上传
publicstaticboolIsAllowedExtension(HtmlInputFilehifile)
{
stringstrOldFilePath="",strExtension="";

//允许上传的扩展名,可以改成从配置文件中读出
string[]arrExtension={".gif",".jpg",".jpeg",".bmp",".png"};

if(hifile.PostedFile.FileName!=string.Empty)
{
strOldFilePath
=hifile.PostedFile.FileName;
//取得上传文件的扩展名
strExtension=strOldFilePath.Substring(strOldFilePath.LastIndexOf("."));
//判断该扩展名是否合法
for(inti=0;i<arrExtension.Length;i++)
{
if(strExtension.Equals(arrExtension[i]))
{
returntrue;
}

}

}

returnfalse;
}

#endregion


IsAllowedLength判断上传文件大小是否超过最大值#regionIsAllowedLength判断上传文件大小是否超过最大值
publicstaticboolIsAllowedLength(HtmlInputFilehifile)
{
//允许上传文件大小的最大值,可以保存在xml文件中,单位为KB
inti=20;
//如果上传文件的大小超过最大值,返回flase,否则返回true.
if(hifile.PostedFile.ContentLength>i*1024)
{
returnfalse;
}

returntrue;
}

#endregion


SaveFile上传文件并返回文件名#regionSaveFile上传文件并返回文件名
publicstaticstringSaveFile(HtmlInputFilehifile,stringstrAbsolutePath)
{
stringstrOldFilePath="",strExtension="",strNewFileName="";

if(hifile.PostedFile.FileName!=string.Empty)
{
strOldFilePath
=hifile.PostedFile.FileName;
//取得上传文件的扩展名
strExtension=strOldFilePath.Substring(strOldFilePath.LastIndexOf("."));
//文件上传后的命名
strNewFileName=GetUniqueString()+strExtension;
if(strAbsolutePath.LastIndexOf("\\")==strAbsolutePath.Length)
{
hifile.PostedFile.SaveAs(strAbsolutePath
+strNewFileName);
}

else
{
hifile.PostedFile.SaveAs(strAbsolutePath
+"\\"+strNewFileName);
}

}

returnstrNewFileName;
}

#endregion


CoverFile重新上传文件,删除原有文件#regionCoverFile重新上传文件,删除原有文件
publicstaticvoidCoverFile(HtmlInputFileffFile,stringstrAbsolutePath,stringstrOldFileName)
{
//获得新文件名
stringstrNewFileName=GetUniqueString();

if(ffFile.PostedFile.FileName!=string.Empty)
{
//旧图片不为空时先删除旧图片
if(strOldFileName!=string.Empty)
{
DeleteFile(strAbsolutePath,strOldFileName);
}

SaveFile(ffFile,strAbsolutePath);
}

}

#endregion


DeleteFile删除指定文件#regionDeleteFile删除指定文件
publicstaticvoidDeleteFile(stringstrAbsolutePath,stringstrFileName)
{
if(strAbsolutePath.LastIndexOf("\\")==strAbsolutePath.Length)
{
if(File.Exists(strAbsolutePath+strFileName))
{
File.Delete(strAbsolutePath
+strFileName);
}

}

else
{
if(File.Exists(strAbsolutePath+"\\"+strFileName))
{
File.Delete(strAbsolutePath
+"\\"+strFileName);
}

}

}

#endregion


GetUniqueString获取一个不重复的文件名#regionGetUniqueString获取一个不重复的文件名
publicstaticstringGetUniqueString()
{
returnDateTime.Now.ToString("yyyyMMddhhmmss");
}

#endregion

}

}

你可能感兴趣的:(Web,xml,UI)