正在閱讀:通過HtmlInputFile控件上傳文件的類通過HtmlInputFile控件上傳文件的類

2005-09-26 10:00 出處:PConline 作者:Kgdiwss 責(zé)任編輯:moningfeng

  熱門推薦用Asp.net制作頂部導(dǎo)航控件    ASP漏洞解析及黑客防范法

  源碼下載(附件)

  在開發(fā)ASP.NET項目時,經(jīng)常遇到要上傳文件的情況,出于安全考慮,我們不但要對上傳文件的擴(kuò)展名進(jìn)行判斷,同時還要對上傳文件的大小等進(jìn)行控制。如果每次遇到上傳文件時都寫一堆的代碼,那不但浪費了時間,同時也會使程序的效率降低。于是我將上傳文件寫成一個類,這樣以后就可以調(diào)用類的方法上傳文件了。

  方法1:判斷文件擴(kuò)展名是否合法

#regionIsAllowedExtension
///<summary>
///是否允許該擴(kuò)展名上傳
///</summary>
///<paramname = "hifile">HtmlInputFile控件</param>
///<returns>允許則返回true,否則返回false</returns>
publicstaticboolIsAllowedExtension(HtmlInputFilehifile)
{
stringstrOldFilePath = "",strExtension = "";

//允許上傳的擴(kuò)展名,可以改成從配置文件中讀出
string[]arrExtension = {".gif",".jpg",".jpeg",".bmp",".png"};

if(hifile.PostedFile.FileName! = string.Empty)
{
strOldFilePath = hifile.PostedFile.FileName;
//取得上傳文件的擴(kuò)展名
strExtension = strOldFilePath.Substring(strOldFilePath.LastIndexOf("."));
//判斷該擴(kuò)展名是否合法
for(inti = 0;i<arrExtension.Length;i++)
{
if(strExtension.Equals(arrExtension[i]))
{
return true;
}
}
}
returnfalse;
}
#endregion



  方法2:判斷上傳文件大小是否超過最大值

#region IsAllowedLength
/// <summary>
/// 判斷上傳文件大小是否超過最大值
/// </summary>
/// <param name="hifile">HtmlInputFile控件</param>
/// <returns>超過最大值返回false,否則返回true.</returns>
public static bool IsAllowedLength(HtmlInputFile hifile)
{
//允許上傳文件大小的最大值,可以保存在xml文件中,單位為KB
int i = 20;
//如果上傳文件的大小超過最大值,返回flase,否則返回true.
if(hifile.PostedFile.ContentLength > i * 1024)
{
return false;
}
return true;
}
#endregion


302 Found

302 Found


Powered by Tengine
tengine
鍵盤也能翻頁,試試“← →”鍵

相關(guān)文章

302 Found

302 Found


Powered by Tengine
tengine