******作者语:这个控件很早就写了,但一直没有去完善***********************
******现在重新整理了一次,应该方便了许多,希望大家多多提意见*********
******支持多个大文件队列传输传递*********************
****** 支持IE6、7/FF2.0、3.0 *************************************
****** ^(^]***************************
在线演示地址 文件大小已经被限制为3M,请大家不要乱传东西啊,空间很小滴,谢谢
[版本更新 uploadfile 1.15 2008-1-15 by lt]
1、修改文件字符集支持,如果遇到编码问题请把
2、FilePath和FileMax的全局问题已经修正,即使在同一个页面,多个上传控件实例之间的属性独立,例如:
下载uploadfile.DLL组件 【解压后覆盖范例项目BIN下旧版本即可】
1.在webconfig中添加以下内容:
注意:如果遇到URL重写,请确保上传控件的载入先于重写控件,即把ADD节点放在重写控件的ADD前面
。
2、 FilePath属性中指定的路径通常如果不存在,控件可自动创建,但由于某些空间配置问题无法创建,所以最好能在空间自己手动建立该文件夹,这样就万无一失了。
3.参照default.aspx的例子
请在页面中注册本控件
<%@ Register TagPrefix="uploadctrl" Namespace="LTAjaxUpFile.Uploadfile" Assembly="Uploadfile"%>
1
private
void
Page_Load(
object
sender, System.EventArgs e)
2 {
3 if ( ! Page.IsPostBack)
4 {
5 // 使用控件需要以下4个步骤,应该不烦琐吧
6
7 // ProcessBarBorderStyle控制进度条边框式样;不处理则用默认样式
8 LTAjaxUpFile.Uploadfile.ltuploadfilecontrol.ProcessBarBorderStyle = " BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: black 1px solid; PADDING-LEFT: 1px; VISIBILITY: hidden; PADDING-BOTTOM: 1px; BORDER-LEFT: black 1px solid; WIDTH: 200px; PADDING-TOP: 1px; BORDER-BOTTOM: black 1px solid " ;
9 // ProcessBarBorderStyle控制进度条颜色;不处理则用默认样式
10 LTAjaxUpFile.Uploadfile.ltuploadfilecontrol.ProcessBarBlockColor = " red " ;
11 // FeedbackDivCSS控制实时反馈信息式样;不处理则用默认样式
12 LTAjaxUpFile.Uploadfile.ltuploadfilecontrol.FeedbackDivCSS = " feedbackstyle " ;
13
14 ltuploadfilecontrol.FilePath = " files\\lt1 " ; // 1.这里可以动态设置上传的目录路径,文件名由控件自动生成
15 // FILE控件的CSS控制class;不处理则用默认式样
16 ltuploadfilecontrol.FileBoxCSSClass = " upfilebuttonstyle " ;
17
18
19 Ltuploadfilecontrol2.FilePath = " files\\lt1 " ; // 1.这里可以动态设置上传的目录路径,文件名由控件自动生成
20 ltuploadfilecontrol.FileBoxCSSClass = " upfilebuttonstyle " ;
21
22
23 Ltuploadfilecontrol3.FilePath = " files\\lt1 " ; // 1.这里可以动态设置上传的目录路径,文件名由控件自动生成
24 ltuploadfilecontrol.FileBoxCSSClass = " upfilebuttonstyle " ;
25
26
27
28 // 3.UploadOkEventHandler事件为文件上传完毕后处理回调
29 ltuploadfilecontrol._UploadOkEventHandler += new LTAjaxUpFile.Uploadfile.ltuploadfilecontrol.GetFilePath(userFileUpLoadFinishedEventHandler);
30 }
31 // 在此处放置用户代码以初始化页面
32 }
33
34 // 4.定义一个事件处理过程加入到UploadOkEventHandler中
35 // 事件在参数-servpath中返回服务器的文件保存绝对路径,-oldfilename则是原来的文件名字
36 private void userFileUpLoadFinishedEventHandler( string servpath, string oldfilename)
37 {
38 // 可以在这里处理它们,比如放到数据库等
,
39 FileStream fs = new FileStream(Server.MapPath( " file.txt " ),FileMode.Create,FileAccess.ReadWrite);
40 byte [] bs = Encoding.GetEncoding( " gb2312 " ).GetBytes(servpath);
41 byte [] bs1 = Encoding.GetEncoding( " gb2312 " ).GetBytes( " \r\n " + oldfilename);
42 fs.Write(bs, 0 ,bs.Length);
43 fs.Write(bs1, 0 ,bs1.Length);
44 fs.Close();
45 }
2 {
3 if ( ! Page.IsPostBack)
4 {
5 // 使用控件需要以下4个步骤,应该不烦琐吧
6
7 // ProcessBarBorderStyle控制进度条边框式样;不处理则用默认样式
8 LTAjaxUpFile.Uploadfile.ltuploadfilecontrol.ProcessBarBorderStyle = " BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: black 1px solid; PADDING-LEFT: 1px; VISIBILITY: hidden; PADDING-BOTTOM: 1px; BORDER-LEFT: black 1px solid; WIDTH: 200px; PADDING-TOP: 1px; BORDER-BOTTOM: black 1px solid " ;
9 // ProcessBarBorderStyle控制进度条颜色;不处理则用默认样式
10 LTAjaxUpFile.Uploadfile.ltuploadfilecontrol.ProcessBarBlockColor = " red " ;
11 // FeedbackDivCSS控制实时反馈信息式样;不处理则用默认样式
12 LTAjaxUpFile.Uploadfile.ltuploadfilecontrol.FeedbackDivCSS = " feedbackstyle " ;
13
14 ltuploadfilecontrol.FilePath = " files\\lt1 " ; // 1.这里可以动态设置上传的目录路径,文件名由控件自动生成
15 // FILE控件的CSS控制class;不处理则用默认式样
16 ltuploadfilecontrol.FileBoxCSSClass = " upfilebuttonstyle " ;
17
18
19 Ltuploadfilecontrol2.FilePath = " files\\lt1 " ; // 1.这里可以动态设置上传的目录路径,文件名由控件自动生成
20 ltuploadfilecontrol.FileBoxCSSClass = " upfilebuttonstyle " ;
21
22
23 Ltuploadfilecontrol3.FilePath = " files\\lt1 " ; // 1.这里可以动态设置上传的目录路径,文件名由控件自动生成
24 ltuploadfilecontrol.FileBoxCSSClass = " upfilebuttonstyle " ;
25
26
27
28 // 3.UploadOkEventHandler事件为文件上传完毕后处理回调
29 ltuploadfilecontrol._UploadOkEventHandler += new LTAjaxUpFile.Uploadfile.ltuploadfilecontrol.GetFilePath(userFileUpLoadFinishedEventHandler);
30 }
31 // 在此处放置用户代码以初始化页面
32 }
33
34 // 4.定义一个事件处理过程加入到UploadOkEventHandler中
35 // 事件在参数-servpath中返回服务器的文件保存绝对路径,-oldfilename则是原来的文件名字
36 private void userFileUpLoadFinishedEventHandler( string servpath, string oldfilename)
37 {
38 // 可以在这里处理它们,比如放到数据库等


39 FileStream fs = new FileStream(Server.MapPath( " file.txt " ),FileMode.Create,FileAccess.ReadWrite);
40 byte [] bs = Encoding.GetEncoding( " gb2312 " ).GetBytes(servpath);
41 byte [] bs1 = Encoding.GetEncoding( " gb2312 " ).GetBytes( " \r\n " + oldfilename);
42 fs.Write(bs, 0 ,bs.Length);
43 fs.Write(bs1, 0 ,bs1.Length);
44 fs.Close();
45 }
![[原创]Ajax UpLoadFile 多个大文件上传控件及应用范例_第1张图片](http://img.e-com-net.com/image/info8/5a191857bd104829a19a83f6cd74cf57.jpg)
最后:这个控件确实有点乱,也感谢大家的意见,我会慢慢将它完善
下载应用范例