using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace CommonFunction
{
	/// <summary>
	/// upFile 的摘要说明。
	/// </summary>
	public class upFile : System.Web.UI.Page
	{
		protected System.Web.UI.HtmlControls.HtmlInputFile fileUp;
		protected System.Web.UI.WebControls.Label strState;
		protected System.Web.UI.WebControls.Button btnUpFile;
	
		private void Page_Load(object sender, System.EventArgs e)
		{
			// 在此处放置用户代码以初始化页面
		}

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.btnUpFile.Click += new System.EventHandler(this.btnUpFile_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		private void btnUpFile_Click(object sender, System.EventArgs e)
		{
			string filePath="",fileExtName="",mFileName,mPath;
			System.Text.StringBuilder strMsg = new System.Text.StringBuilder("上传的文件信息：<hr color=red>");
			if("" != fileUp.PostedFile.FileName)
			{
				filePath =fileUp.PostedFile.FileName;//取得文件路径
				fileExtName= filePath.Substring(filePath.LastIndexOf(".")+1);

				try
				{
					//取得与 Web 服务器上的指定虚拟路径相对应的物理文件路径。
					mPath=Server.MapPath("upfile/");
					mFileName=filePath.Substring(filePath.LastIndexOf("\\")+1);;//取得文件名
					strMsg.Append("上传的文件类型：" + fileUp.PostedFile.ContentType.ToString() + "<br>");
					strMsg.Append("客户端文件地址：" + fileUp.PostedFile.FileName + "<br>");
					strMsg.Append("上传文件的文件名：" + mFileName + "<br>");
					strMsg.Append("上传文件的扩展名：" + fileExtName);
					//保存上传文件到指定的目录
					fileUp.PostedFile.SaveAs(mPath + mFileName);
					strState.Text = strMsg.ToString();
				}
				catch(Exception error)
				{
					Response.Write(error.ToString());
				}

			}
		}
	}
}
