开发工具:
文件大小: 3kb
下载次数: 0
上传时间: 2009-01-02
详细说明: (二). 示例代码 1public partial class UpMultiFileControl2 : System.Web.UI.UserControl 2{ 3 protected void Page_Load(object sender, EventArgs e) 4 { 5 if (!Page.IsPostBack) 6 { 7 SaveCurrentPageFileControls(); 8 } 9 } 10 protected void btAddFile_Click(object sender, EventArgs e) 11 { 12 AddOneFileControl(); 13 } 14 15 /**//// 16 /// 添加一个上传文件控件 17 /// 18 private void AddOneFileControl() 19 { 20 ArrayList al = new ArrayList(); 21 this.tbFiles.Rows.Clear(); 22 GetFileControlsFromSession(); 23 HtmlTableRow htr = new HtmlTableRow(); 24 HtmlTableCell htc = new HtmlTableCell(); 25 htc.Controls.Add(new FileUpload()); 26 htr.Controls.Add(htc); 27 this.tbFiles.Rows.Add(htr); 28 SaveCurrentPageFileControls(); 29 } 30 31 /**//// 32 /// 读取缓存中存储的上传文件控件集 33 /// 34 private void GetFileControlsFromSession() 35 { 36 ArrayList al = new ArrayList(); 37 if (Session["FilesControls"] != null) 38 { 39 al = (System.Collections.ArrayList)Session["FilesControls"]; 40 for (int i = 0; i < al.Count; i++) 41 { 42 HtmlTableRow htr1 = new HtmlTableRow(); 43 HtmlTableCell htc1 = new HtmlTableCell(); 44 htc1.Controls.Add((System.Web.UI.WebControls.FileUpload)al[i]); 45 htr1.Controls.Add(htc1); 46 this.tbFiles.Rows.Add(htr1); 47 } 48 } 49 } 50 51 /**//// 52 /// 保存当前页面上传文件控件集到缓存中 53 /// 54 private void SaveCurrentPageFileControls() 55 { 56 ArrayList al = new ArrayList(); 57 foreach (Control controlTR in this.tbFiles.Controls) 58 { 59 if (controlTR.GetType().ToString() == "System.Web.UI.HtmlControls.HtmlTableRow") 60 { 61 HtmlTableCell htc = (HtmlTableCell)controlTR.Controls[0]; 62 foreach (Control controlFileUpload in htc.Controls) 63 { 64 if (controlFileUpload.GetType().ToString() == "System.Web.UI.WebControls.FileUpload") 65 { 66 FileUpload tempFileUpload = (FileUpload)controlFileUpload; 67 al.Add(tempFileUpload); 68 } 69 } 70 } 71 } 72 Session.Add("FilesControls", al); 73 } 74 75 protected void btUpFiles_Click(object sender, EventArgs e) 76 { 77 UpLoadFiles(); 78 } 79 80 /**//// 81 /// 上传文件操作 82 /// 83 private void UpLoadFiles() 84 { 85 string filepath = Server.MapPath("./")+"UploadFiles"; 86 87 HttpFileCollection uploadedFiles = Request.Files; 88 for (int i = 0; i < uploadedFiles.Count; i++) 89 { 90 HttpPostedFile userPostedFile = uploadedFiles[i]; 91 try 92 { 93 if (userPostedFile.ContentLength > 0 ) 94 { 95 userPostedFile.SaveAs(filepath + "\\" + System.IO.Path.GetFileName(userPostedFile.FileName)); 96 Response.Write("已上传文件: \"" + filepath +"\\"+ userPostedFile.FileName +"\"
" ); 97 } 98 } 99 catch 100 { 101 Response.Write("上传文件: \"" + userPostedFile.FileName +"\"出错!"); 102 } 103 } 104 if (Session["FilesControls"] != null) 105 { 106 Session.Remove("FilesControls"); 107 } 108 } 109} (三). 改变上传文件大小和时间限制 executionTimeout="110" //允许上传文件最大等待时间 maxRequestLength="4096" //上传文件大小,默认为4M 上传文件大小是由上面两个参数所决定的. 涉及到安全因素,最好不要设得太大. (五).控件缺点 由于安全原因, 用服务端控件实现,回发时选择的文件不能够保存. ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.