欧美日韩一区二区三区四区不卡,日韩欧美视频一区二区三区四区,久久精品欧美一区二区三区不卡,国产精品久久久乱弄

咨詢電話:186 7916 6165 咨詢電話:186 7916 6165 (微信同號)    在線QQ:181796286
NEWS BLOG ·
學無止境
關注開優網絡 關注前沿
ASP.NET公共類庫之文件實用類FileUtil.cs
ASP.NET公共庫之圖片處理類ImageUtil.cs

ASP.NET公共類庫之上傳類HtmlInputFileControl.cs

發表日期:2015-09-06    文章編輯:南昌開優網絡    瀏覽次數:3808    標簽:ASP.NET應用

/**********************************************
 * 類作用:   上傳類
 * 作者:   開優網絡 
 ***********************************************/

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

namespace inputfiles
{
	/// <summary>
	/// HtmlInputFileControl 的摘要說明。
	/// </summary>
	public class HtmlInputFileControl
	{
		#region HtmlInputFileControl
			public HtmlInputFileControl()
				{
				}
		#endregion

		#region IsAllowedExtension是否允許該擴展名上傳

		public static bool IsAllowedExtension(HtmlInputFile hifile)
		{
			string strOldFilePath = "",strExtension = "";

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

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

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

		#region SaveFile上傳文件并返回文件名
			public static string SaveFile(HtmlInputFile hifile,string strAbsolutePath)
			{
				string strOldFilePath = "",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);    
					}
				}
				return strNewFileName;
			}
		#endregion

		#region CoverFile重新上傳文件,刪除原有文件
							public static void CoverFile(HtmlInputFile ffFile,string strAbsolutePath,string strOldFileName)
							{
								//獲得新文件名
								string strNewFileName = GetUniqueString();

								if(ffFile.PostedFile.FileName != string.Empty)
								{
									//舊圖片不為空時先刪除舊圖片
									if(strOldFileName != string.Empty)
									{                    
										DeleteFile(strAbsolutePath,strOldFileName);                                        
									}
									SaveFile(ffFile,strAbsolutePath);
								}            
							}
		#endregion

		#region DeleteFile刪除指定文件
		public static void DeleteFile(string strAbsolutePath, string strFileName)
		{
			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

		#region GetUniqueString獲取一個不重復的文件名        
			public static string GetUniqueString()
			{            
				return DateTime.Now.ToString("yyyyMMddhhmmss");
			}
		#endregion


	}
}
主站蜘蛛池模板: 都匀市| 永济市| 杂多县| 哈密市| 许昌市| 伊春市| 清水河县| 赫章县| 河津市| 景德镇市| 绥德县| 二连浩特市| 道真| 黄大仙区| 黔西| 西和县| 宜章县| 六枝特区| 南丹县| 铁岭县| 钦州市| 河东区| 沈丘县| 香格里拉县| 浦江县| 茂名市| 怀化市| 亚东县| 民权县| 唐山市| 盖州市| 呼图壁县| 府谷县| 长兴县| 科技| 威远县| 宁蒗| 鄂托克旗| 明水县| 建阳市| 台州市|