|
Asp.net 2.0 用FileUpload 控件实现多文件上传用户控件(示例代码下载) |
|
|
|
(一). 示例代码
public partial class UpMultiFileControl2 : System.Web.UI.UserControl { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { SaveCurrentPageFileControls(); } } protected void btAddFile_Click(object sender, EventArgs e) { AddOneFileControl(); }
/**//// <summary> /// 添加一个上传文件控件 /// </summary> private void AddOneFileControl() { ArrayList al = new ArrayList(); this.tbFiles.Rows.Clear(); GetFileControlsFromSession(); HtmlTableRow htr = new HtmlTableRow(); HtmlTableCell htc = new HtmlTableCell(); htc.Controls.Add(new FileUpload()); htr.Controls.Add(htc); this.tbFiles.Rows.Add(htr); SaveCurrentPageFileControls(); }
/**//// <summary> /// 读取缓存中存储的上传文件控件集 /// </summary> private void GetFileControlsFromSession() { ArrayList al = new ArrayList(); if (Session["FilesControls"] != null) { al = (System.Collections.ArrayList)Session["FilesControls"]; for (int i = 0; i < al.Count; i++) { HtmlTableRow htr1 = new HtmlTableRow(); HtmlTableCell htc1 = new HtmlTableCell(); htc1.Controls.Add((System.Web.UI.WebControls.FileUpload)al[i]); htr1.Controls.Add(htc1); this.tbFiles.Rows.Add(htr1); } } } /**//// <summary> /// 保存当前页面上传文件控件集到缓存中 /// </summary> private void SaveCurrentPageFileControls() { ArrayList al = new ArrayList(); foreach (Control controlTR in this.tbFiles.Controls) { if (controlTR.GetType().ToString() == "System.Web.UI.HtmlControls.HtmlTableRow") { HtmlTableCell htc = (HtmlTableCell)controlTR.Controls[0]; foreach (Control controlFileUpload in htc.Controls) { if (controlFileUpload.GetType().ToString() == "System.Web.UI.WebControls.FileUpload") { FileUpload tempFileUpload = (FileUpload)controlFileUpload; al.Add(tempFileUpload); } } } } Session.Add("FilesControls", al); }
protected void btUpFiles_Click(object sender, EventArgs e) { UpLoadFiles(); }
/**//// <summary> /// 上传文件操作 /// </summary> private void UpLoadFiles() { string filepath = Server.MapPath("./")+"UploadFiles"; HttpFileCollection uploadedFiles = Request.Files; for (int i = 0; i < uploadedFiles.Count; i++) { HttpPostedFile userPostedFile = uploadedFiles[i]; try { if (userPostedFile.ContentLength > 0 ) { userPostedFile.SaveAs(filepath + "\\" + System.IO.Path.GetFileName(userPostedFile.FileName)); Response.Write("已上传文件: \"" + filepath +"\\"+ userPostedFile.FileName +"\"<br><br>" ); } } catch { Response.Write("上传文件: \"" + userPostedFile.FileName +"\"出错!"); } } if (Session["FilesControls"] != null) { Session.Remove("FilesControls"); } } }
(二). 改变上传文件大小和时间限制
<httpRuntime> executionTimeout="110"//允许上传文件最大等待时间 maxRequestLength="4096"//上传文件大小,默认为4M </httpRuntime>
上传文件大小是由上面两个参数所决定的. 涉及到安全因素,最好不要设得太大.
(三). 示例源代码下载
http://www.cnblogs.com/Files/ChengKing/UpMultiFileControl.rar |
引用控件的aspx页面index2
<%@ Page Language="C#" AutoEventWireup="true" Inherits="index2" Codebehind="index2.aspx.cs" %>
<%@ Register Src="UpMultiFileControl2.ascx" TagName="UpMultiFileControl2" TagPrefix="uc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<uc1:UpMultiFileControl2 ID="UpMultiFileControl2_1" runat="server" />
</div>
</form>
</body>
</html>
分享到:
相关推荐
Asp.net 2.0 FileUpload 控件的用法
ASP.NET 2.0高级控件之FileUpload控件
ASP.NET_2.0高级控件之FileUpload控件
人民邮电出版社的ASP.NET 2.0网络编程自学手册配套关盘中的第15章 文件按上传与下载的源代码,了解上传文件和下载文件的流程、学会使用FileUpload控件实现文件上传、学会动态添加控件的功能、掌握文件的下载。
文件上传功能主要利用FileUpload控件(文件上传控件)来完成,并通过按钮来实现动态添加FileUpload控件。 文件的下载先通过ListBox控件显示文件名,再选择要下载的文件名,单击“下载”按钮,将文件保存到本机。
ASP.NET 2.0+SQL Server 2005全程指南 目录 基础篇 第1章 ASP.NET概述及环境配置 1.1 认识ASRNET 1.1.1 .NET Framework框架 1.1.2 ASP.NET功能与特性 1.1.3 ASP.NET与ASP的区别 1.2 搭建ASP.NET开发环境 1.2.1...
asp.net2.0新增控件的介绍 有fileupload,wizard,multiview与view,等等
使用asp.net 2.0新控件FileUpload实现图片上传,几乎每行都有注释,适合一切初学者。。。
5-05.aspx FileUpload控件实现文件上传。 5-06.aspx BulletedList创建静态项目列表。 5-07.aspx BulletedList列表项响应用户事件。 5-08.aspx Image控件用法举例。 5-09.aspx 使用...
6.3.1 使用FileUpload控件上传文件 170 6.3.2 指定正确的ASP.NET权限给上传文件 172 6.3.3 理解文件大小的限制 173 6.3.4 把上传的文件放在Stream对象中 174 6.3.5 把文件内容从Stream对象移动到Byte数组中 175 ...
本书全面介绍了ASP.NET各种编程技能和2.0版中的巨大变化,并详细阐述了2.0版中的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET平台下开发功能强大的ASP.NET应用程序。本书适合有一些基础的ASP...
5-05.aspx FileUpload控件实现文件上传。 5-06.aspx BulletedList创建静态项目列表。 5-07.aspx BulletedList列表项响应用户事件。 5-08.aspx Image控件用法举例。 5-09.aspx 使用MultiView和View控件实现多...
3章第五节文件上传FileUpload控件使用
在asp.net 2.0中,因为有了fileupload控件,上传文件十分简单
学习积累的代码段:共计75个,Asp.Net中使用水晶报表、ASP.NET 2.0高级控件之FileUpload控件
Asp.Net中使用水晶报表 javascript提示类 分页 文件操作 ASP.NET 2.0高级控件之FileUpload控件 如何在ASP.NET页面间传送数据 等
FileUpload多文件上传