文件上传的控件,支持上传后事件,跨服务器上传,自定义可上传文件类型、大小,以及上传文件命名规则。


  1自定义服务器控件开发之2:文件上传控件_上传using System.Web.UI.HtmlControls;

  2自定义服务器控件开发之2:文件上传控件_上传using System.Configuration;

  3自定义服务器控件开发之2:文件上传控件_上传using System.ComponentModel;

  4自定义服务器控件开发之2:文件上传控件_上传using System.Web.Security;

  5自定义服务器控件开发之2:文件上传控件_上传using System.Security.Principal;

  6自定义服务器控件开发之2:文件上传控件_上传using System.Drawing;

  7自定义服务器控件开发之2:文件上传控件_上传using System.Drawing.Text;

  8自定义服务器控件开发之2:文件上传控件_上传using System.Collections;

  9自定义服务器控件开发之2:文件上传控件_上传using System.Collections.Specialized;

 10自定义服务器控件开发之2:文件上传控件_上传

 11自定义服务器控件开发之2:文件上传控件_上传namespace Rungoo.WebCtrlLib

 12自定义服务器控件开发之2:文件上传控件_html_12自定义服务器控件开发之2:文件上传控件_html_13自定义服务器控件开发之2:文件上传控件_css_14{

 13自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16    /**//// <summary>

 14自定义服务器控件开发之2:文件上传控件_css_17    /// 文件上传控件

 15自定义服务器控件开发之2:文件上传控件_css_17    /// Author:    nowind

 16自定义服务器控件开发之2:文件上传控件_css_17    /// Date:    2006-3-4

 17自定义服务器控件开发之2:文件上传控件_css_17    /// Email:    hgh113@sina.com

 18自定义服务器控件开发之2:文件上传控件_css_17    /// QQ:        87505959

 19自定义服务器控件开发之2:文件上传控件_html_22    /// </summary>

 20自定义服务器控件开发之2:文件上传控件_css_17    [DefaultProperty("Text"), 

 21自定义服务器控件开发之2:文件上传控件_css_17    ToolboxData("<{0}:WebUploadFile runat=server></{0}:WebUploadFile>")]

 22自定义服务器控件开发之2:文件上传控件_css_17    public class WebUploadFile : System.Web.UI.WebControls.WebControl,INamingContainer

 23自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16    自定义服务器控件开发之2:文件上传控件_css_14{

 24自定义服务器控件开发之2:文件上传控件_css_17        private event EventHandler uploaded;

 25自定义服务器控件开发之2:文件上传控件_css_17        

 26自定义服务器控件开发之2:文件上传控件_控件_16自定义服务器控件开发之2:文件上传控件_上传_15        属性#region 属性

 27自定义服务器控件开发之2:文件上传控件_css_17

 28自定义服务器控件开发之2:文件上传控件_控件_16自定义服务器控件开发之2:文件上传控件_上传_15        机器属性#region 机器属性

 29自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        /**//// <summary>

 30自定义服务器控件开发之2:文件上传控件_css_17        /// 域

 31自定义服务器控件开发之2:文件上传控件_html_22        /// </summary>

 32自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

 33自定义服务器控件开发之2:文件上传控件_css_17        Category("Data"),Description("图片存放目标计算机的IP或者机器名,只在跨计算机上传时候填写"),

 34自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

 35自定义服务器控件开发之2:文件上传控件_css_17        public string ComputerDomain

 36自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

 37自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get 自定义服务器控件开发之2:文件上传控件_css_14{ return ViewState["ComputerDomain"] == null ? String.Empty : (string)ViewState["ComputerDomain"] ; }

 38自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            set 自定义服务器控件开发之2:文件上传控件_css_14{ ViewState["ComputerDomain"] = value; }

 39自定义服务器控件开发之2:文件上传控件_html_22        }

 40自定义服务器控件开发之2:文件上传控件_css_17

 41自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        /**//// <summary>

 42自定义服务器控件开发之2:文件上传控件_css_17        /// 登陆用户

 43自定义服务器控件开发之2:文件上传控件_html_22        /// </summary>

 44自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

 45自定义服务器控件开发之2:文件上传控件_css_17        Category("Data"),Description("图片存放目标计算机登陆用户,只在跨计算机上传时候填写"),

 46自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

 47自定义服务器控件开发之2:文件上传控件_css_17        public string ComputerUsername

 48自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

 49自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get 自定义服务器控件开发之2:文件上传控件_css_14{ return ViewState["ComputerUsername"] == null ? String.Empty : (string)ViewState["ComputerUsername"] ; }

 50自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            set 自定义服务器控件开发之2:文件上传控件_css_14{ ViewState["ComputerUsername"] = value; }

 51自定义服务器控件开发之2:文件上传控件_html_22        }

 52自定义服务器控件开发之2:文件上传控件_css_17

 53自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        /**//// <summary>

 54自定义服务器控件开发之2:文件上传控件_css_17        /// 登陆密码

 55自定义服务器控件开发之2:文件上传控件_html_22        /// </summary>

 56自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

 57自定义服务器控件开发之2:文件上传控件_css_17        Category("Data"),Description("图片存放目标计算机登陆密码,只在跨计算机上传时候填写"),

 58自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

 59自定义服务器控件开发之2:文件上传控件_css_17        public string ComputerPassword

 60自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

 61自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get 自定义服务器控件开发之2:文件上传控件_css_14{ return ViewState["ComputerPassword"] == null ? String.Empty : (string)ViewState["ComputerPassword"] ; }

 62自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            set 自定义服务器控件开发之2:文件上传控件_css_14{ ViewState["ComputerPassword"] = value; }

 63自定义服务器控件开发之2:文件上传控件_html_22        }

 64自定义服务器控件开发之2:文件上传控件_css_17

 65自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        /**//// <summary>

 66自定义服务器控件开发之2:文件上传控件_css_17        /// 文件存放路径

 67自定义服务器控件开发之2:文件上传控件_html_22        /// </summary>

 68自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

 69自定义服务器控件开发之2:文件上传控件_css_17        Category("Data"),Description(@"文件存放的物理路径。如果跨计算机上传,则必须填写,且包含完整共享目录路径,且保证该目录Windows权限可写,如 \\192.168.3.1\nowind\upload\;如果上传本地机器,则为图片存放物理目录全路径,如 D:\nowind\113\ ,也可以不填写,自动采用 ComputerUrlPath 指定的目录"),

 70自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

 71自定义服务器控件开发之2:文件上传控件_css_17        public string ComputerFilePath

 72自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

 73自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get 自定义服务器控件开发之2:文件上传控件_css_14{ return ViewState["ComputerFilePath"] == null ? "" : (string)ViewState["ComputerFilePath"] ; }

 74自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            set 自定义服务器控件开发之2:文件上传控件_css_14{ ViewState["ComputerFilePath"] = value;  }

 75自定义服务器控件开发之2:文件上传控件_html_22        }

 76自定义服务器控件开发之2:文件上传控件_css_17

 77自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        /**//// <summary>

 78自定义服务器控件开发之2:文件上传控件_css_17        /// 文件服务路径

 79自定义服务器控件开发之2:文件上传控件_html_22        /// </summary>

 80自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

 81自定义服务器控件开发之2:文件上传控件_css_17        Category("Data"),Description(@"文件的Web访问路径。跨计算机上传时,必须填写Url完全路径,如 http://192.168.3.1/nowind/upload/ ;如果上传本地机器,则填写站点根目录后的全路径,如upload/file/"),

 82自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

 83自定义服务器控件开发之2:文件上传控件_css_17        public string ComputerUrlPath

 84自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

 85自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get 自定义服务器控件开发之2:文件上传控件_css_14{ return ViewState["ComputerUrlPath"] == null ? String.Empty : (string)ViewState["ComputerUrlPath"] ; }

 86自定义服务器控件开发之2:文件上传控件_css_17            set 

 87自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            自定义服务器控件开发之2:文件上传控件_css_14{

 88自定义服务器控件开发之2:文件上传控件_css_17                value = value.EndsWith(@"/") ? value : value+"/";

 89自定义服务器控件开发之2:文件上传控件_css_17                ViewState["ComputerUrlPath"] = value; 

 90自定义服务器控件开发之2:文件上传控件_html_22            }

 91自定义服务器控件开发之2:文件上传控件_html_22        }

 92自定义服务器控件开发之2:文件上传控件_html_22        #endregion

 93自定义服务器控件开发之2:文件上传控件_css_17

 94自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        /**//// <summary>

 95自定义服务器控件开发之2:文件上传控件_css_17        /// 上传成功后是否显示文件信息

 96自定义服务器控件开发之2:文件上传控件_html_22        /// </summary>

 97自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

 98自定义服务器控件开发之2:文件上传控件_css_17        Category("Appearance"),Description("上传成功后是否显示文件信息"),

 99自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

100自定义服务器控件开发之2:文件上传控件_css_17        public System.Boolean IsShowFileInfo

101自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

102自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get 自定义服务器控件开发之2:文件上传控件_css_14{ return ViewState["IsShowFileInfo"] == null ? false : (bool)ViewState["IsShowFileInfo"] ; }

103自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            set 自定义服务器控件开发之2:文件上传控件_css_14{ ViewState["IsShowFileInfo"] = value; }

104自定义服务器控件开发之2:文件上传控件_html_22        }

105自定义服务器控件开发之2:文件上传控件_css_17

106自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        /**//// <summary>

107自定义服务器控件开发之2:文件上传控件_css_17        /// 文件大小上限

108自定义服务器控件开发之2:文件上传控件_html_22        /// </summary>

109自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

110自定义服务器控件开发之2:文件上传控件_css_17        Category("Data"),Description("文件大小上限,以K为单位,默认为100K,0表示不限制"),

111自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

112自定义服务器控件开发之2:文件上传控件_css_17        public System.Int64 FileMaxSize

113自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

114自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get 自定义服务器控件开发之2:文件上传控件_css_14{ return ViewState["FileMaxSize"] == null ? 100 : (System.Int64)ViewState["FileMaxSize"] ; }

115自定义服务器控件开发之2:文件上传控件_css_17            set 

116自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            自定义服务器控件开发之2:文件上传控件_css_14

117自定义服务器控件开发之2:文件上传控件_css_17                if( value < 0 || value > System.Int64.MaxValue)

118自定义服务器控件开发之2:文件上传控件_css_17                    throw new ArgumentException("设置的值超过有效范围");

119自定义服务器控件开发之2:文件上传控件_css_17                ViewState["FileMaxSize"] = value; 

120自定义服务器控件开发之2:文件上传控件_html_22            }

121自定义服务器控件开发之2:文件上传控件_html_22        }

122自定义服务器控件开发之2:文件上传控件_css_17

123自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        /**//// <summary>

124自定义服务器控件开发之2:文件上传控件_css_17        /// 是否覆盖服务器上已存在的同名文件

125自定义服务器控件开发之2:文件上传控件_html_22        /// </summary>

126自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

127自定义服务器控件开发之2:文件上传控件_css_17        Category("Data"),Description("是否覆盖服务器上已存在的同名文件"),

128自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

129自定义服务器控件开发之2:文件上传控件_css_17        public System.Boolean IsOverwrite

130自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

131自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get 自定义服务器控件开发之2:文件上传控件_css_14{ return ViewState["IsOverwrite"] == null ? true : (bool)ViewState["IsOverwrite"] ; }

132自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            set 自定义服务器控件开发之2:文件上传控件_css_14{ ViewState["IsOverwrite"] = value; }

133自定义服务器控件开发之2:文件上传控件_html_22        }

134自定义服务器控件开发之2:文件上传控件_css_17

135自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        /**//// <summary>

136自定义服务器控件开发之2:文件上传控件_css_17        /// 是否重新命名上传文件

137自定义服务器控件开发之2:文件上传控件_html_22        /// </summary>

138自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

139自定义服务器控件开发之2:文件上传控件_css_17        Category("Data"),Description("是否重新命名上传文件"),

140自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

141自定义服务器控件开发之2:文件上传控件_css_17        public System.Boolean IsRename

142自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

143自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get 自定义服务器控件开发之2:文件上传控件_css_14{ return ViewState["IsRename"] == null ? true : (bool)ViewState["IsRename"] ; }

144自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            set 自定义服务器控件开发之2:文件上传控件_css_14{ ViewState["IsRename"] = value; }

145自定义服务器控件开发之2:文件上传控件_html_22        }

146自定义服务器控件开发之2:文件上传控件_css_17

147自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        /**//// <summary>

148自定义服务器控件开发之2:文件上传控件_css_17        /// 文件类型

149自定义服务器控件开发之2:文件上传控件_html_22        /// </summary>

150自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

151自定义服务器控件开发之2:文件上传控件_css_17        Category("Data"),Description("文件类型,多种文件类型以(,)分割,默认为rar,zip,doc,txt,wma,mp3,pdf类型"),

152自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

153自定义服务器控件开发之2:文件上传控件_css_17        public System.String FileType

154自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

155自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get 自定义服务器控件开发之2:文件上传控件_css_14{ return ViewState["FileType"] == null ? "rar,zip,doc,txt,wma,mp3,pdf" : (string)ViewState["FileType"] ; }

156自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            set 自定义服务器控件开发之2:文件上传控件_css_14{ ViewState["FileType"] = value; }

157自定义服务器控件开发之2:文件上传控件_html_22        }

158自定义服务器控件开发之2:文件上传控件_css_17

159自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        /**//// <summary>

160自定义服务器控件开发之2:文件上传控件_css_17        /// 文件的完整Url路径

161自定义服务器控件开发之2:文件上传控件_html_22        /// </summary>

162自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

163自定义服务器控件开发之2:文件上传控件_css_17        Category("Data"),Description("文件的完整Url路径,相对于根目录,如image/xxx.jpg"),Browsable(false),

164自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

165自定义服务器控件开发之2:文件上传控件_css_17        public System.String FileFullUrl

166自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

167自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get 自定义服务器控件开发之2:文件上传控件_css_14{ return ViewState["FileFullUrl"] == null ? String.Empty : (string)ViewState["FileFullUrl"] ; }

168自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            set 自定义服务器控件开发之2:文件上传控件_css_14{ ViewState["FileFullUrl"] = value; }

169自定义服务器控件开发之2:文件上传控件_html_22        }

170自定义服务器控件开发之2:文件上传控件_css_17        

171自定义服务器控件开发之2:文件上传控件_控件_16自定义服务器控件开发之2:文件上传控件_上传_15        其他属性#region 其他属性

172自定义服务器控件开发之2:文件上传控件_css_17

173自定义服务器控件开发之2:文件上传控件_css_17        //控件宽度属性 

174自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

175自定义服务器控件开发之2:文件上传控件_css_17        Category("Layout"), 

176自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

177自定义服务器控件开发之2:文件上传控件_css_17        public override Unit Width

178自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

179自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get自定义服务器控件开发之2:文件上传控件_css_14{ return this.pnlFrame.Width;}

180自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            set自定义服务器控件开发之2:文件上传控件_css_14{ this.pnlFrame.Width = value;}

181自定义服务器控件开发之2:文件上传控件_html_22        }

182自定义服务器控件开发之2:文件上传控件_css_17

183自定义服务器控件开发之2:文件上传控件_css_17        //控件高度属性 

184自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

185自定义服务器控件开发之2:文件上传控件_css_17        Category("Layout"), 

186自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

187自定义服务器控件开发之2:文件上传控件_css_17        public override Unit Height

188自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

189自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get自定义服务器控件开发之2:文件上传控件_css_14{ return this.pnlFrame.Height;}

190自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            set自定义服务器控件开发之2:文件上传控件_css_14{ this.pnlFrame.Height = value;}

191自定义服务器控件开发之2:文件上传控件_html_22        }

192自定义服务器控件开发之2:文件上传控件_css_17

193自定义服务器控件开发之2:文件上传控件_css_17        //前景色属性 

194自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

195自定义服务器控件开发之2:文件上传控件_css_17        Category("Appearance"), 

196自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

197自定义服务器控件开发之2:文件上传控件_css_17        public override Color ForeColor

198自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

199自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get自定义服务器控件开发之2:文件上传控件_css_14{ return pnlFrame.ForeColor;}

200自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            set自定义服务器控件开发之2:文件上传控件_css_14{ this.pnlFrame.ForeColor = value;}

201自定义服务器控件开发之2:文件上传控件_html_22        }

202自定义服务器控件开发之2:文件上传控件_css_17

203自定义服务器控件开发之2:文件上传控件_css_17        //背景色属性 

204自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

205自定义服务器控件开发之2:文件上传控件_css_17        Category("Appearance"), 

206自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

207自定义服务器控件开发之2:文件上传控件_css_17        public override Color BackColor

208自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

209自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get自定义服务器控件开发之2:文件上传控件_css_14{ return pnlFrame.BackColor;}

210自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            set自定义服务器控件开发之2:文件上传控件_css_14{ this.pnlFrame.BackColor = value;}

211自定义服务器控件开发之2:文件上传控件_html_22        }

212自定义服务器控件开发之2:文件上传控件_css_17

213自定义服务器控件开发之2:文件上传控件_css_17        //按钮样式

214自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

215自定义服务器控件开发之2:文件上传控件_css_17        Category("Appearance"),Description("按钮样式"),

216自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

217自定义服务器控件开发之2:文件上传控件_css_17        public string CssButton 

218自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

219自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get 自定义服务器控件开发之2:文件上传控件_css_14{ return ViewState["CssButton"] == null ? String.Empty : (string)ViewState["CssButton"] ; }

220自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            set 自定义服务器控件开发之2:文件上传控件_css_14{ ViewState["CssButton"] = value; }

221自定义服务器控件开发之2:文件上传控件_html_22        }

222自定义服务器控件开发之2:文件上传控件_css_17

223自定义服务器控件开发之2:文件上传控件_css_17        //浏览框样式属性

224自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

225自定义服务器控件开发之2:文件上传控件_css_17        Category("Appearance"),Description("浏览框样式属性"),

226自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

227自定义服务器控件开发之2:文件上传控件_css_17        public string CssInputFile

228自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

229自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get 自定义服务器控件开发之2:文件上传控件_css_14{ return ViewState["CssInputFile"] == null ? String.Empty : (string)ViewState["CssInputFile"] ; }

230自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            set 自定义服务器控件开发之2:文件上传控件_css_14{ ViewState["CssInputFile"] = value; }

231自定义服务器控件开发之2:文件上传控件_html_22        }

232自定义服务器控件开发之2:文件上传控件_css_17

233自定义服务器控件开发之2:文件上传控件_css_17        //文字样式属性

234自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

235自定义服务器控件开发之2:文件上传控件_css_17        Category("Appearance"),Description("文字样式属性"),

236自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

237自定义服务器控件开发之2:文件上传控件_css_17        public override string CssClass 

238自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

239自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get 自定义服务器控件开发之2:文件上传控件_css_14{ return ViewState["CssClass"] == null ? String.Empty : (string)ViewState["CssClass"] ; }

240自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            set 自定义服务器控件开发之2:文件上传控件_css_14{ ViewState["CssClass"] = value; }

241自定义服务器控件开发之2:文件上传控件_html_22        }

242自定义服务器控件开发之2:文件上传控件_css_17

243自定义服务器控件开发之2:文件上传控件_css_17        //控件边框颜色属性 

244自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

245自定义服务器控件开发之2:文件上传控件_css_17        Category("Appearance"), 

246自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

247自定义服务器控件开发之2:文件上传控件_css_17        public override Color BorderColor

248自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

249自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get自定义服务器控件开发之2:文件上传控件_css_14{ return this.pnlFrame.BorderColor;}

250自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            set自定义服务器控件开发之2:文件上传控件_css_14{ this.pnlFrame.BorderColor = value;}

251自定义服务器控件开发之2:文件上传控件_html_22        }

252自定义服务器控件开发之2:文件上传控件_css_17

253自定义服务器控件开发之2:文件上传控件_css_17        //控件边框样式属性 

254自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

255自定义服务器控件开发之2:文件上传控件_css_17        Category("Appearance"), 

256自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

257自定义服务器控件开发之2:文件上传控件_css_17        public override BorderStyle BorderStyle

258自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

259自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get自定义服务器控件开发之2:文件上传控件_css_14{ return this.pnlFrame.BorderStyle;}

260自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            set自定义服务器控件开发之2:文件上传控件_css_14{ this.pnlFrame.BorderStyle = value;}

261自定义服务器控件开发之2:文件上传控件_html_22        }

262自定义服务器控件开发之2:文件上传控件_css_17

263自定义服务器控件开发之2:文件上传控件_css_17        //控件边框宽度属性 

264自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

265自定义服务器控件开发之2:文件上传控件_css_17        Category("Appearance"), 

266自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

267自定义服务器控件开发之2:文件上传控件_css_17        public override Unit BorderWidth

268自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

269自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            get自定义服务器控件开发之2:文件上传控件_css_14{ return this.pnlFrame.BorderWidth;}

270自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            set自定义服务器控件开发之2:文件上传控件_css_14{ this.pnlFrame.BorderWidth = value;}

271自定义服务器控件开发之2:文件上传控件_html_22        }

272自定义服务器控件开发之2:文件上传控件_css_17

273自定义服务器控件开发之2:文件上传控件_html_22        #endregion

274自定义服务器控件开发之2:文件上传控件_css_17

275自定义服务器控件开发之2:文件上传控件_css_17        //处理上传成功后用户自定义事件

276自定义服务器控件开发之2:文件上传控件_css_17        [Bindable(true), 

277自定义服务器控件开发之2:文件上传控件_css_17        Category("Action"), Description("处理上传成功后用户自定义事件"),

278自定义服务器控件开发之2:文件上传控件_css_17        DefaultValue("")] 

279自定义服务器控件开发之2:文件上传控件_css_17        public event EventHandler Uploaded

280自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

281自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            add自定义服务器控件开发之2:文件上传控件_css_14{ this.uploaded += value;}

282自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            remove自定义服务器控件开发之2:文件上传控件_css_14{ this.uploaded -= value;}

283自定义服务器控件开发之2:文件上传控件_html_22        }

284自定义服务器控件开发之2:文件上传控件_html_22        #endregion

285自定义服务器控件开发之2:文件上传控件_css_17

286自定义服务器控件开发之2:文件上传控件_控件_16自定义服务器控件开发之2:文件上传控件_上传_15        声明子控件#region 声明子控件

287自定义服务器控件开发之2:文件上传控件_css_17        private Label lblInfo = new Label();                //用于文件信息

288自定义服务器控件开发之2:文件上传控件_css_17        private Label lblMsg = new Label();                //上传文件重命名称

289自定义服务器控件开发之2:文件上传控件_css_17        private System.Web.UI.WebControls.FileUpload fileUpload = new FileUpload();        //浏览本地文件

290自定义服务器控件开发之2:文件上传控件_css_17        private System.Web.UI.HtmlControls.HtmlButton btnUpload = new HtmlButton();        //上传按钮

291自定义服务器控件开发之2:文件上传控件_css_17        private Panel pnlFrame = new Panel();                //承载其它控件的容器Panel控件

292自定义服务器控件开发之2:文件上传控件_html_22        #endregion

293自定义服务器控件开发之2:文件上传控件_css_17

294自定义服务器控件开发之2:文件上传控件_控件_16自定义服务器控件开发之2:文件上传控件_上传_15        构造函数初始化子控件#region    构造函数初始化子控件

295自定义服务器控件开发之2:文件上传控件_css_17        public WebUploadFile()

296自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

297自定义服务器控件开发之2:文件上传控件_css_17            this.fileUpload.ID = "fileUpload";

298自定义服务器控件开发之2:文件上传控件_css_17

299自定义服务器控件开发之2:文件上传控件_css_17            this.lblInfo.ID = "lblInfo";

300自定义服务器控件开发之2:文件上传控件_css_17            this.lblInfo.Text = this.FileFullUrl;

301自定义服务器控件开发之2:文件上传控件_css_17            this.lblInfo.Visible = false;

302自定义服务器控件开发之2:文件上传控件_css_17

303自定义服务器控件开发之2:文件上传控件_css_17            this.lblMsg.ID = "lblMsg";

304自定义服务器控件开发之2:文件上传控件_css_17            this.lblMsg.Text = "";

305自定义服务器控件开发之2:文件上传控件_css_17            this.lblMsg.ForeColor = Color.Red;

306自定义服务器控件开发之2:文件上传控件_css_17            this.lblMsg.Visible = false;

307自定义服务器控件开发之2:文件上传控件_css_17

308自定义服务器控件开发之2:文件上传控件_css_17            this.btnUpload.ID = "btnUpload";

309自定义服务器控件开发之2:文件上传控件_css_17            this.btnUpload.InnerText = "上传";

310自定义服务器控件开发之2:文件上传控件_css_17            this.btnUpload.ServerClick += new EventHandler(this.Upload_Click);

311自定义服务器控件开发之2:文件上传控件_css_17

312自定义服务器控件开发之2:文件上传控件_css_17            this.pnlFrame.ForeColor = this.ForeColor;

313自定义服务器控件开发之2:文件上传控件_css_17            this.pnlFrame.BackColor = Color.Empty;

314自定义服务器控件开发之2:文件上传控件_css_17

315自定义服务器控件开发之2:文件上传控件_css_17            //将子控件添加到此自定义控件中

316自定义服务器控件开发之2:文件上传控件_css_17            this.Controls.Add(fileUpload);

317自定义服务器控件开发之2:文件上传控件_css_17            this.Controls.Add(lblInfo);

318自定义服务器控件开发之2:文件上传控件_css_17            this.Controls.Add(lblMsg);

319自定义服务器控件开发之2:文件上传控件_css_17            this.Controls.Add(btnUpload);

320自定义服务器控件开发之2:文件上传控件_css_17            this.Controls.Add(pnlFrame);

321自定义服务器控件开发之2:文件上传控件_html_22        }

322自定义服务器控件开发之2:文件上传控件_css_17

323自定义服务器控件开发之2:文件上传控件_html_22        #endregion

324自定义服务器控件开发之2:文件上传控件_css_17

325自定义服务器控件开发之2:文件上传控件_控件_16自定义服务器控件开发之2:文件上传控件_上传_15        创建子控件#region 创建子控件

326自定义服务器控件开发之2:文件上传控件_css_17        protected override void EnsureChildControls()

327自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

328自定义服务器控件开发之2:文件上传控件_css_17            

329自定义服务器控件开发之2:文件上传控件_html_22        }

330自定义服务器控件开发之2:文件上传控件_html_22        #endregion

331自定义服务器控件开发之2:文件上传控件_css_17    

332自定义服务器控件开发之2:文件上传控件_控件_16自定义服务器控件开发之2:文件上传控件_上传_15        将此控件呈现给指定的输出参数#region 将此控件呈现给指定的输出参数

333自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        /**//// <summary> 

334自定义服务器控件开发之2:文件上传控件_css_17        /// 将此控件呈现给指定的输出参数。

335自定义服务器控件开发之2:文件上传控件_css_17        /// </summary>

336自定义服务器控件开发之2:文件上传控件_html_22        /// <param name="output"> 要写出到的 HTML 编写器 </param>

337自定义服务器控件开发之2:文件上传控件_css_17        protected override void Render(HtmlTextWriter output)

338自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

339自定义服务器控件开发之2:文件上传控件_css_17            //开始输出

340自定义服务器控件开发之2:文件上传控件_css_17            output.AddAttribute(HtmlTextWriterAttribute.Id,base.ID);

341自定义服务器控件开发之2:文件上传控件_css_17            this.pnlFrame.RenderBeginTag(output);

342自定义服务器控件开发之2:文件上传控件_css_17

343自定义服务器控件开发之2:文件上传控件_css_17            //在Panel中绘制表格

344自定义服务器控件开发之2:文件上传控件_css_17            output.AddAttribute(HtmlTextWriterAttribute.Border,"0");

345自定义服务器控件开发之2:文件上传控件_css_17            output.AddAttribute(HtmlTextWriterAttribute.Cellpadding,"0");

346自定义服务器控件开发之2:文件上传控件_css_17            output.AddAttribute(HtmlTextWriterAttribute.Cellspacing,"0");

347自定义服务器控件开发之2:文件上传控件_css_17            output.AddAttribute(System.Web.UI.HtmlTextWriterAttribute.Width,"100%");

348自定义服务器控件开发之2:文件上传控件_css_17            //output.AddAttribute(System.Web.UI.HtmlTextWriterAttribute.Height,"25px");

349自定义服务器控件开发之2:文件上传控件_css_17

350自定义服务器控件开发之2:文件上传控件_css_17            output.RenderBeginTag(HtmlTextWriterTag.Table); 

351自定义服务器控件开发之2:文件上传控件_css_17

352自定义服务器控件开发之2:文件上传控件_css_17            output.RenderBeginTag(HtmlTextWriterTag.Tr);

353自定义服务器控件开发之2:文件上传控件_css_17            output.AddAttribute(System.Web.UI.HtmlTextWriterAttribute.Align,"Left");    

354自定义服务器控件开发之2:文件上传控件_css_17            //output.AddAttribute(System.Web.UI.HtmlTextWriterAttribute.Width,"70%");

355自定义服务器控件开发之2:文件上传控件_css_17            output.RenderBeginTag(HtmlTextWriterTag.Td);

356自定义服务器控件开发之2:文件上传控件_css_17            

357自定义服务器控件开发之2:文件上传控件_css_17            //文件浏览框

358自定义服务器控件开发之2:文件上传控件_css_17            //output.Write("<input name=\"" + base.ID + ":fileUpload\" id=\"" + base.ID + "_fileUpload\" class=\"" + this.CssInputFile + "\" style=\"width:75%\" type=\"file\" />");

359自定义服务器控件开发之2:文件上传控件_css_17            this.fileUpload.Attributes.Add("Width", "70%");

360自定义服务器控件开发之2:文件上传控件_css_17            this.fileUpload.Attributes.Add("Class", this.CssInputFile);

361自定义服务器控件开发之2:文件上传控件_css_17            this.fileUpload.RenderControl(output);

362自定义服务器控件开发之2:文件上传控件_css_17            output.Write("&nbsp;");

363自定义服务器控件开发之2:文件上传控件_css_17            //上传按钮

364自定义服务器控件开发之2:文件上传控件_css_17            //this.btnUpload.Attributes.Add("OnClick","javascript:if(document.getElementById('"+this.ID+"_fileUpload').value==''){alert('请浏览上传的文件');return false;}");

365自定义服务器控件开发之2:文件上传控件_css_17            this.btnUpload.Attributes.Add("Class", this.CssButton);

366自定义服务器控件开发之2:文件上传控件_css_17            this.btnUpload.CausesValidation = false;

367自定义服务器控件开发之2:文件上传控件_css_17            this.btnUpload.RenderControl(output);

368自定义服务器控件开发之2:文件上传控件_css_17

369自定义服务器控件开发之2:文件上传控件_css_17            output.Write("&nbsp;");

370自定义服务器控件开发之2:文件上传控件_css_17            //上传结果信息

371自定义服务器控件开发之2:文件上传控件_css_17            this.lblMsg.RenderControl(output);

372自定义服务器控件开发之2:文件上传控件_css_17            output.RenderEndTag();

373自定义服务器控件开发之2:文件上传控件_css_17            output.RenderEndTag();

374自定义服务器控件开发之2:文件上传控件_css_17

375自定义服务器控件开发之2:文件上传控件_css_17            //显示文件信息

376自定义服务器控件开发之2:文件上传控件_css_17            if( this.IsShowFileInfo == true )

377自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            自定义服务器控件开发之2:文件上传控件_css_14{

378自定义服务器控件开发之2:文件上传控件_css_17                output.RenderBeginTag(HtmlTextWriterTag.Tr);

379自定义服务器控件开发之2:文件上传控件_css_17                output.AddAttribute(System.Web.UI.HtmlTextWriterAttribute.Valign,"Middle");

380自定义服务器控件开发之2:文件上传控件_css_17                output.AddAttribute(System.Web.UI.HtmlTextWriterAttribute.Height,"24px");

381自定义服务器控件开发之2:文件上传控件_css_17                output.AddAttribute(System.Web.UI.HtmlTextWriterAttribute.Class,this.CssClass);

382自定义服务器控件开发之2:文件上传控件_css_17                output.RenderBeginTag(HtmlTextWriterTag.Td);

383自定义服务器控件开发之2:文件上传控件_css_17                output.AddAttribute(System.Web.UI.HtmlTextWriterAttribute.Align,"left");

384自定义服务器控件开发之2:文件上传控件_css_17                output.AddAttribute(System.Web.UI.HtmlTextWriterAttribute.Valign,"absmiddle");

385自定义服务器控件开发之2:文件上传控件_css_17

386自定义服务器控件开发之2:文件上传控件_css_17                this.lblInfo.RenderControl(output);

387自定义服务器控件开发之2:文件上传控件_css_17

388自定义服务器控件开发之2:文件上传控件_css_17                output.RenderEndTag();// </td>

389自定义服务器控件开发之2:文件上传控件_css_17                output.RenderEndTag();// </tr>

390自定义服务器控件开发之2:文件上传控件_html_22            }

391自定义服务器控件开发之2:文件上传控件_css_17

392自定义服务器控件开发之2:文件上传控件_css_17            output.RenderEndTag();// </table>

393自定义服务器控件开发之2:文件上传控件_css_17            

394自定义服务器控件开发之2:文件上传控件_css_17            //结束输出

395自定义服务器控件开发之2:文件上传控件_css_17            this.pnlFrame.RenderEndTag(output);

396自定义服务器控件开发之2:文件上传控件_html_22        }

397自定义服务器控件开发之2:文件上传控件_html_22        #endregion    

398自定义服务器控件开发之2:文件上传控件_css_17

399自定义服务器控件开发之2:文件上传控件_控件_16自定义服务器控件开发之2:文件上传控件_上传_15        上载文件#region 上载文件

400自定义服务器控件开发之2:文件上传控件_css_17        private void Upload_Click(object sender, System.EventArgs e)

401自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16        自定义服务器控件开发之2:文件上传控件_css_14{

402自定义服务器控件开发之2:文件上传控件_css_17            this.lblInfo.Visible = false;

403自定义服务器控件开发之2:文件上传控件_css_17            //this.lblInfo.Text = "";

404自定义服务器控件开发之2:文件上传控件_css_17            this.lblMsg.Visible = false;

405自定义服务器控件开发之2:文件上传控件_css_17            this.lblMsg.Text = "";

406自定义服务器控件开发之2:文件上传控件_css_17

407自定义服务器控件开发之2:文件上传控件_css_17            System.Web.UI.ClientScriptManager client = this.Page.ClientScript;

408自定义服务器控件开发之2:文件上传控件_css_17            Type cstype = Page.GetType();

409自定义服务器控件开发之2:文件上传控件_css_17

410自定义服务器控件开发之2:文件上传控件_css_17            //站点根路径

411自定义服务器控件开发之2:文件上传控件_css_17            string appPath = FileClass.GetApplicationPath();

412自定义服务器控件开发之2:文件上传控件_css_17

413自定义服务器控件开发之2:文件上传控件_css_17            // 判断路径

414自定义服务器控件开发之2:文件上传控件_css_17            if( this.fileUpload.PostedFile == null || this.fileUpload.PostedFile.ToString() == "" )

415自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            自定义服务器控件开发之2:文件上传控件_css_14{

416自定义服务器控件开发之2:文件上传控件_css_17                //this.lblMsg.Text = "未发现操作文件";

417自定义服务器控件开发之2:文件上传控件_css_17                //this.lblMsg.Visible = true;

418自定义服务器控件开发之2:文件上传控件_css_17                client.RegisterStartupScript(cstype, "error", "<script language='javascript'>alert('未发现操作文件')</script>");

419自定义服务器控件开发之2:文件上传控件_css_17                return;

420自定义服务器控件开发之2:文件上传控件_html_22            }

421自定义服务器控件开发之2:文件上传控件_css_17

422自定义服务器控件开发之2:文件上传控件_css_17            FileClass classValidUser = new FileClass();

423自定义服务器控件开发之2:文件上传控件_css_17            if( this.ComputerDomain != "" )    //如果计算机地址设置不为空则默认为存放文件到远程计算机

424自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            自定义服务器控件开发之2:文件上传控件_css_14{

425自定义服务器控件开发之2:文件上传控件_css_17                bool loginResult = false;    //登陆远程计算机成功与否

426自定义服务器控件开发之2:文件上传控件_css_17                loginResult = classValidUser.ImpersonateValidUser(this.ComputerUsername , this.ComputerPassword , this.ComputerDomain );

427自定义服务器控件开发之2:文件上传控件_css_17                if( loginResult == false )

428自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16                自定义服务器控件开发之2:文件上传控件_css_14{

429自定义服务器控件开发之2:文件上传控件_css_17                    //lblMsg.Visible = true;

430自定义服务器控件开发之2:文件上传控件_css_17                    //lblMsg.Text = "登陆远程服务器失败";

431自定义服务器控件开发之2:文件上传控件_css_17                    client.RegisterStartupScript(cstype, "error", "<script language='javascript'>alert('登陆远程服务器失败')</script>");

432自定义服务器控件开发之2:文件上传控件_css_17                    return;

433自定义服务器控件开发之2:文件上传控件_html_22                }

434自定义服务器控件开发之2:文件上传控件_html_22            }

435自定义服务器控件开发之2:文件上传控件_css_17

436自定义服务器控件开发之2:文件上传控件_css_17            try

437自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            自定义服务器控件开发之2:文件上传控件_css_14{

438自定义服务器控件开发之2:文件上传控件_css_17                string fileName = null;    //保存的文件短名称

439自定义服务器控件开发之2:文件上传控件_css_17                HttpPostedFile filImage = this.fileUpload.PostedFile;

440自定义服务器控件开发之2:文件上传控件_css_17                string sourceFileName = null;    //原始文件名称    

441自定义服务器控件开发之2:文件上传控件_css_17                sourceFileName= System.IO.Path.GetFileName(filImage.FileName);

442自定义服务器控件开发之2:文件上传控件_css_17                string sourceFileExtension = System.IO.Path.GetExtension(sourceFileName).ToLower();//扩展名 如.jpg

443自定义服务器控件开发之2:文件上传控件_css_17

444自定义服务器控件开发之2:文件上传控件_css_17                StringCollection sc = new StringCollection();

445自定义服务器控件开发之2:文件上传控件_css_17                foreach( string str in this.FileType.Split(',') )

446自定义服务器控件开发之2:文件上传控件_css_17                    sc.Add( "."+str.ToLower() );

447自定义服务器控件开发之2:文件上传控件_css_17                if( !sc.Contains(sourceFileExtension) )

448自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16                自定义服务器控件开发之2:文件上传控件_css_14{

449自定义服务器控件开发之2:文件上传控件_css_17                    client.RegisterStartupScript(cstype, "error", "<script language='javascript'>alert('文件格式不对')</script>");

450自定义服务器控件开发之2:文件上传控件_css_17                    return;

451自定义服务器控件开发之2:文件上传控件_html_22                }

452自定义服务器控件开发之2:文件上传控件_css_17

453自定义服务器控件开发之2:文件上传控件_css_17                // 文件大小

454自定义服务器控件开发之2:文件上传控件_css_17                int fileLen = filImage.ContentLength; 

455自定义服务器控件开发之2:文件上传控件_css_17                if( this.FileMaxSize != 0 )    //为0则不限制上传文件大小

456自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16                自定义服务器控件开发之2:文件上传控件_css_14{

457自定义服务器控件开发之2:文件上传控件_css_17                    // 判断文件大小

458自定义服务器控件开发之2:文件上传控件_css_17                    if(fileLen < 0 || fileLen > this.FileMaxSize * 1024)

459自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16                    自定义服务器控件开发之2:文件上传控件_css_14{

460自定义服务器控件开发之2:文件上传控件_css_17                        string msg = "文件大小不能超过"+this.FileMaxSize+"K";

461自定义服务器控件开发之2:文件上传控件_css_17                        client.RegisterStartupScript(cstype, "error", "<script language='javascript'>alert('" + msg + "')</script>");

462自定义服务器控件开发之2:文件上传控件_css_17                        return;

463自定义服务器控件开发之2:文件上传控件_html_22                    }

464自定义服务器控件开发之2:文件上传控件_html_22                }

465自定义服务器控件开发之2:文件上传控件_css_17

466自定义服务器控件开发之2:文件上传控件_css_17                // 读取文件到缓存

467自定义服务器控件开发之2:文件上传控件_css_17                byte[] bufData = new byte[fileLen];

468自定义服务器控件开发之2:文件上传控件_css_17                filImage.InputStream.Read(bufData, 0, fileLen);

469自定义服务器控件开发之2:文件上传控件_css_17                MemoryStream ms = new MemoryStream(bufData);

470自定义服务器控件开发之2:文件上传控件_css_17                if( this.IsRename )

471自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16                自定义服务器控件开发之2:文件上传控件_css_14{

472自定义服务器控件开发之2:文件上传控件_css_17                    // 以时间命名文件名,精确到毫秒

473自定义服务器控件开发之2:文件上传控件_css_17                    DateTime dtNow = DateTime.Now;

474自定义服务器控件开发之2:文件上传控件_css_17                    fileName = dtNow.ToString("yyyyMMddhhmmss")+DateTime.Now.Millisecond.ToString("000")+sourceFileExtension;

475自定义服务器控件开发之2:文件上传控件_html_22                }

476自定义服务器控件开发之2:文件上传控件_css_17                else

477自定义服务器控件开发之2:文件上传控件_css_17                    fileName = sourceFileName;

478自定义服务器控件开发之2:文件上传控件_css_17

479自定义服务器控件开发之2:文件上传控件_css_17                // 文件存放路径文件夹

480自定义服务器控件开发之2:文件上传控件_css_17                string filePath = "";

481自定义服务器控件开发之2:文件上传控件_css_17                if(this.ComputerFilePath == null || this.ComputerFilePath == "" )

482自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16                自定义服务器控件开发之2:文件上传控件_css_14{

483自定义服务器控件开发之2:文件上传控件_css_17                    filePath = appPath + this.ComputerUrlPath;

484自定义服务器控件开发之2:文件上传控件_css_17                    filePath = filePath.EndsWith(@"/") ? filePath : filePath+"/";

485自定义服务器控件开发之2:文件上传控件_css_17                    filePath = filePath.Replace(@"//",@"/");

486自定义服务器控件开发之2:文件上传控件_css_17                    filePath = this.Page.Server.MapPath( filePath );

487自定义服务器控件开发之2:文件上传控件_html_22                }

488自定义服务器控件开发之2:文件上传控件_css_17                else

489自定义服务器控件开发之2:文件上传控件_css_17                    filePath = this.ComputerFilePath.Replace(@"/",@"\");

490自定义服务器控件开发之2:文件上传控件_css_17                filePath = filePath.EndsWith(@"\") == true ? filePath : filePath + @"\";

491自定义服务器控件开发之2:文件上传控件_css_17                string fileFullPath = filePath + fileName;

492自定义服务器控件开发之2:文件上传控件_css_17

493自定义服务器控件开发之2:文件上传控件_css_17                //返回文件url全路径,以"/"结尾

494自定义服务器控件开发之2:文件上传控件_css_17                string fileUrlPath = this.ComputerUrlPath.Replace(@"\",@"/");

495自定义服务器控件开发之2:文件上传控件_css_17                fileUrlPath = this.ComputerUrlPath.EndsWith(@"/") == true ? this.ComputerUrlPath : this.ComputerUrlPath + @"/";

496自定义服务器控件开发之2:文件上传控件_css_17                fileUrlPath += fileName;

497自定义服务器控件开发之2:文件上传控件_css_17

498自定义服务器控件开发之2:文件上传控件_css_17                // 判断存放图片文件的目录是否存在,如果不存在,则创建。

499自定义服务器控件开发之2:文件上传控件_css_17                DirectoryInfo di = new DirectoryInfo(filePath);

500自定义服务器控件开发之2:文件上传控件_css_17                if( di.Attributes == FileAttributes.ReadOnly )

501自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16                自定义服务器控件开发之2:文件上传控件_css_14{

502自定义服务器控件开发之2:文件上传控件_css_17                    string msg = "指定文件夹为只读,不能写入文件";

503自定义服务器控件开发之2:文件上传控件_css_17                    client.RegisterStartupScript(cstype, "error", "<script language='javascript'>alert('" + msg + "')</script>");

504自定义服务器控件开发之2:文件上传控件_css_17                    return;

505自定义服务器控件开发之2:文件上传控件_html_22                }

506自定义服务器控件开发之2:文件上传控件_css_17                if(!Directory.Exists(filePath))

507自定义服务器控件开发之2:文件上传控件_css_17                    Directory.CreateDirectory(filePath);

508自定义服务器控件开发之2:文件上传控件_css_17                if( File.Exists( fileFullPath ) && !this.IsOverwrite )

509自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16                自定义服务器控件开发之2:文件上传控件_css_14{

510自定义服务器控件开发之2:文件上传控件_css_17                    string msg = "文件已经存在";

511自定义服务器控件开发之2:文件上传控件_css_17                    client.RegisterStartupScript(cstype, "error", "<script language='javascript'>alert('" + msg + "')</script>");

512自定义服务器控件开发之2:文件上传控件_css_17                    return;

513自定义服务器控件开发之2:文件上传控件_html_22                }

514自定义服务器控件开发之2:文件上传控件_css_17

515自定义服务器控件开发之2:文件上传控件_css_17                // 把文件写入服务器

516自定义服务器控件开发之2:文件上传控件_css_17                FileStream newFile = new FileStream(fileFullPath,FileMode.Create);

517自定义服务器控件开发之2:文件上传控件_css_17                newFile.Write(bufData,0,fileLen);

518自定义服务器控件开发之2:文件上传控件_css_17                newFile.Flush();

519自定义服务器控件开发之2:文件上传控件_css_17                newFile.Close();

520自定义服务器控件开发之2:文件上传控件_css_17

521自定义服务器控件开发之2:文件上传控件_css_17                // 注销远程登陆

522自定义服务器控件开发之2:文件上传控件_css_17                if( this.ComputerDomain != "" )

523自定义服务器控件开发之2:文件上传控件_css_17                    classValidUser.UndoImpersonation();

524自定义服务器控件开发之2:文件上传控件_css_17

525自定义服务器控件开发之2:文件上传控件_css_17                //返回文件路径

526自定义服务器控件开发之2:文件上传控件_css_17                this.FileFullUrl = fileUrlPath;

527自定义服务器控件开发之2:文件上传控件_css_17                

528自定义服务器控件开发之2:文件上传控件_css_17                //保存路径信息

529自定义服务器控件开发之2:文件上传控件_css_17                lblMsg.Visible=true;

530自定义服务器控件开发之2:文件上传控件_css_17                lblMsg.Text="上载成功";

531自定义服务器控件开发之2:文件上传控件_css_17                lblInfo.Visible = true;

532自定义服务器控件开发之2:文件上传控件_css_17                double size = (double)fileLen/1024;

533自定义服务器控件开发之2:文件上传控件_css_17                lblInfo.Text = "文件名:"+fileName+"&nbsp;&nbsp;&nbsp;文件大小:"+size.ToString("0.00")+"K";

534自定义服务器控件开发之2:文件上传控件_css_17

535自定义服务器控件开发之2:文件上传控件_css_17                //激发用户自定义事件

536自定义服务器控件开发之2:文件上传控件_css_17                if( uploaded != null )

537自定义服务器控件开发之2:文件上传控件_css_17                    uploaded(this,new System.EventArgs());

538自定义服务器控件开发之2:文件上传控件_css_17

539自定义服务器控件开发之2:文件上传控件_html_22            }                    

540自定义服务器控件开发之2:文件上传控件_css_17            catch(Exception ex)

541自定义服务器控件开发之2:文件上传控件_上传_15自定义服务器控件开发之2:文件上传控件_控件_16            自定义服务器控件开发之2:文件上传控件_css_14{

542自定义服务器控件开发之2:文件上传控件_css_17                lblMsg.Visible=true;

543自定义服务器控件开发之2:文件上传控件_css_17                lblMsg.Text="上载失败:"+ex.Message;

544自定义服务器控件开发之2:文件上传控件_css_17                lblInfo.Visible = false;

545自定义服务器控件开发之2:文件上传控件_html_22            }

546自定义服务器控件开发之2:文件上传控件_html_22        }

547自定义服务器控件开发之2:文件上传控件_html_22        #endregion

548自定义服务器控件开发之2:文件上传控件_css_17

549自定义服务器控件开发之2:文件上传控件_html_22    }

550自定义服务器控件开发之2:文件上传控件_控件_741}


自定义服务器控件开发之3:自定义缩略图和水印的图片上传控件



        上传图片是经常会使用到的问题,不过每次都去些那些相同的代码确实够麻烦,所有就有了下面这个东东的出现了,哈哈!照顾到大多数人不同的需求,所以提供了多种自定义的功能,不急,下面一一介绍:


         1、用户可控制是否生成缩略图。


         2、用户自己定义缩略图大小,可以指定具体px或%,可以同时指定宽和高,也可以只指定宽,如果只指定宽的参数,则缩略图高度会按原始图片的宽/高比例计算得到。

         3、可自定义是否为图片加上水印,水印有两种方式,一种是文本,一种是图片,分别可自定义。并且水印的位置可控制。如果是文本水印,可指定绘制的文字、文字的大小、颜色和阴影颜色已经阴影的偏移距离。

         4、可控制图片上传后是否立即显示,显示位置(上传框上方或下方),显示的信息有三种可选:图片和图片信息、图片信息、仅图片。

         5、可控制图片的文件大小、图片的绝对尺寸大小。

         6、自定义图片存放路径。

         7、可将图片上传至远程服务器,也就是非web程序运行的其他计算机,条件是需要设置相关的远程服务器登陆的ip或机器名、登陆帐号、登陆密码、共享路径和用于图片web访问Url路径,以便存放数据库。

         8、用户自己定义文件浏览框、按钮的样式。

         9、另外拥护上传成功后会返回两个属性 UrlInfoBigImage和UrlInfoSmallImage ,分别是大小图片的url路径,直接获取就可以了。   


         10、对于控件的设置,如果是新上传图片,只需要设置上传路径ComputerUrlPath属性,如果是编辑已经上传的图片,只需要对UrlInfoBigImage赋值即可。

         11、支持上传后事件,方便开发人员定义不同操作。

         12、所有的路径为相对站点根路径,比如站点为http://localhost/nowind/images/head/1.jpg ,其中nowind为虚拟目录,则图片的UrlInfoBigImage应该为images/head/1.jpg 注意前面不带"/"。则ComputerUrlPath应该为 images/head/


     自定义服务器控件开发之2:文件上传控件_css_742


        上传图片是经常会使用到的问题,不过每次都去些那些相同的代码确实够麻烦,所有就有了下面这个东东的出现了,哈哈!照顾到大多数人不同的需求,所以提供了多种自定义的功能,不急,下面一一介绍:


         1、用户可控制是否生成缩略图。


         2、用户自己定义缩略图大小,可以指定具体px或%,可以同时指定宽和高,也可以只指定宽,如果只指定宽的参数,则缩略图高度会按原始图片的宽/高比例计算得到。

         3、可自定义是否为图片加上水印,水印有两种方式,一种是文本,一种是图片,分别可自定义。并且水印的位置可控制。如果是文本水印,可指定绘制的文字、文字的大小、颜色和阴影颜色已经阴影的偏移距离。

         4、可控制图片上传后是否立即显示,显示位置(上传框上方或下方),显示的信息有三种可选:图片和图片信息、图片信息、仅图片。

         5、可控制图片的文件大小、图片的绝对尺寸大小。

         6、自定义图片存放路径。

         7、可将图片上传至远程服务器,也就是非web程序运行的其他计算机,条件是需要设置相关的远程服务器登陆的ip或机器名、登陆帐号、登陆密码、共享路径和用于图片web访问Url路径,以便存放数据库。

         8、用户自己定义文件浏览框、按钮的样式。

         9、另外拥护上传成功后会返回两个属性 UrlInfoBigImage和UrlInfoSmallImage ,分别是大小图片的url路径,直接获取就可以了。   


         10、对于控件的设置,如果是新上传图片,只需要设置上传路径ComputerUrlPath属性,如果是编辑已经上传的图片,只需要对UrlInfoBigImage赋值即可。

         11、支持上传后事件,方便开发人员定义不同操作。

         12、所有的路径为相对站点根路径,比如站点为http://localhost/nowind/images/head/1.jpg ,其中nowind为虚拟目录,则图片的UrlInfoBigImage应该为images/head/1.jpg 注意前面不带"/"。则ComputerUrlPath应该为 images/head/


     自定义服务器控件开发之2:文件上传控件_css_742