熱門推薦:用Asp.net制作頂部導(dǎo)航控件 ASP漏洞解析及黑客防范法 源碼下載(附件) 在開發(fā)ASP.NET項目時,經(jīng)常遇到要上傳文件的情況,出于安全考慮,我們不但要對上傳文件的擴(kuò)展名進(jìn)行判斷,同時還要對上傳文件的大小等進(jìn)行控制。如果每次遇到上傳文件時都寫一堆的代碼,那不但浪費(fèi)了時間,同時也會使程序的效率降低。于是我將上傳文件寫成一個類,這樣以后就可以調(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
|