⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uploader.cs

📁 x2webcontrols
💻 CS
字号:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Text;
using System.Web;
using System.Web.SessionState;
using System.Web.UI.WebControls;
using System.Web.UI;
using System.IO;
using System.Text.RegularExpressions;

namespace X2Design.UI
{
	/// <summary>
	/// 后缀名异常
	/// </summary>
	public class UploadExceptionInvalidExtention:System.Exception
	{
	}

	/// <summary>
	/// 文件大小过大异常
	/// </summary>
	public class UploadExceptionTooLargeSize:System.Exception
	{
	}


	/// <summary>
	/// 上传文件不存在异常
	/// </summary>
	public class UploadExceptionNoPostedFile:System.Exception
	{
		
	}
	/// <summary>
	/// 通用的上传组件
	/// </summary>
	public class Uploader
	{
		/// <summary>
		/// 允许上传的文件最大体积,单位为KB,默认为1000KB
		/// </summary>
		protected int MaxSize=1000;
		/// <summary>
		/// 散列表用于存储允许的后缀名
		/// </summary>
		protected System.Collections.Hashtable hash=new System.Collections.Hashtable();

		/// <summary>
		/// HTML控件:HtmlInputFile
		/// </summary>
		protected System.Web.UI.HtmlControls.HtmlInputFile uploadFile;
		/// <summary>
		/// 构造函数。
		/// </summary>
		/// <param name="uploadFile">HtmlInputFile服务器控件。</param>
		public Uploader(System.Web.UI.HtmlControls.HtmlInputFile _uploadFile)
		{
			uploadFile=_uploadFile;
			
		}

		/// <summary>
		/// 获得文件后缀
		/// </summary>
		/// <returns>文件的后缀名</returns>
		public string GetExtention()
		{
			return System.IO.Path.GetExtension(uploadFile.PostedFile.FileName);
		}
		/// <summary>
		/// 保存文件
		/// </summary>
		/// <param name="filePath">要保存的文件路径</param>
		public void Save(string filePath)
		{
			this.CheckExtention();
			this.CheckSize();
			uploadFile.PostedFile.SaveAs(filePath);
		}

		/// <summary>
		/// 允许的后缀名
		/// </summary>
		/// <param name="ext"></param>
		public void AllowExt(string ext)
		{
			hash.Add(ext,null);
		}

		/// <summary>
		/// 设置最大允许的文件大小
		/// </summary>
		/// <param name="size">文件大小,单位为KB</param>
		public void SetMaxsize(int size)
		{
			this.MaxSize=size*1000;
		}

		/// <summary>
		/// 验证可接收的文件类型。
		/// </summary>
		private void CheckExtention()
		{
			string ext=this.GetExtention();
			if(hash.ContainsKey(ext))throw new UploadExceptionInvalidExtention();
		}

		/// <summary>
		/// 验证上传文件的大小是否超过指定值
		/// </summary>
		private void CheckSize()
		{
			int size=uploadFile.PostedFile.ContentLength;
			if(size==0)throw new UploadExceptionNoPostedFile();
			if(size>this.MaxSize*1000)throw new UploadExceptionTooLargeSize();
		}
	
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -