`
lovnet
  • 浏览: 6881577 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

Asp.net 2.0 用 FileUpload 控件实现多文件上传 用户控件(示例代码下载)

阅读更多

学习, And 整理了一下.

(一). 示例图片

(二). 示例代码

1publicpartialclassUpMultiFileControl2:System.Web.UI.UserControl
2{
3protectedvoidPage_Load(objectsender,EventArgse)
4{
5if(!Page.IsPostBack)
6{
7SaveCurrentPageFileControls();
8}

9}

10protectedvoidbtAddFile_Click(objectsender,EventArgse)
11{
12AddOneFileControl();
13}

14
15/**////<summary>
16///添加一个上传文件控件
17///</summary>

18privatevoidAddOneFileControl()
19{
20ArrayListal=newArrayList();
21this.tbFiles.Rows.Clear();
22GetFileControlsFromSession();
23HtmlTableRowhtr=newHtmlTableRow();
24HtmlTableCellhtc=newHtmlTableCell();
25htc.Controls.Add(newFileUpload());
26htr.Controls.Add(htc);
27this.tbFiles.Rows.Add(htr);
28SaveCurrentPageFileControls();
29}

30
31/**////<summary>
32///读取缓存中存储的上传文件控件集
33///</summary>

34privatevoidGetFileControlsFromSession()
35{
36ArrayListal=newArrayList();
37if(Session["FilesControls"]!=null)
38{
39al=(System.Collections.ArrayList)Session["FilesControls"];
40for(inti=0;i<al.Count;i++)
41{
42HtmlTableRowhtr1=newHtmlTableRow();
43HtmlTableCellhtc1=newHtmlTableCell();
44htc1.Controls.Add((System.Web.UI.WebControls.FileUpload)al[i]);
45htr1.Controls.Add(htc1);
46this.tbFiles.Rows.Add(htr1);
47}

48}

49}

50
51/**////<summary>
52///保存当前页面上传文件控件集到缓存中
53///</summary>

54privatevoidSaveCurrentPageFileControls()
55{
56ArrayListal=newArrayList();
57foreach(ControlcontrolTRinthis.tbFiles.Controls)
58{
59if(controlTR.GetType().ToString()=="System.Web.UI.HtmlControls.HtmlTableRow")
60{
61HtmlTableCellhtc=(HtmlTableCell)controlTR.Controls[0];
62foreach(ControlcontrolFileUploadinhtc.Controls)
63{
64if(controlFileUpload.GetType().ToString()=="System.Web.UI.WebControls.FileUpload")
65{
66FileUploadtempFileUpload=(FileUpload)controlFileUpload;
67al.Add(tempFileUpload);
68}

69}

70}

71}

72Session.Add("FilesControls",al);
73}

74
75protectedvoidbtUpFiles_Click(objectsender,EventArgse)
76{
77UpLoadFiles();
78}

79
80/**////<summary>
81///上传文件操作
82///</summary>

83privatevoidUpLoadFiles()
84{
85stringfilepath=Server.MapPath("./")+"UploadFiles";
86
87HttpFileCollectionuploadedFiles=Request.Files;
88for(inti=0;i<uploadedFiles.Count;i++)
89{
90HttpPostedFileuserPostedFile=uploadedFiles[i];
91try
92{
93if(userPostedFile.ContentLength>0)
94{
95userPostedFile.SaveAs(filepath+"\\"+System.IO.Path.GetFileName(userPostedFile.FileName));
96Response.Write("已上传文件:\""+filepath+"\\"+userPostedFile.FileName+"\"<br><br>");
97}

98}

99catch
100{
101Response.Write("上传文件:\""+userPostedFile.FileName+"\"出错!");
102}

103}

104if(Session["FilesControls"]!=null)
105{
106Session.Remove("FilesControls");
107}

108}

109}

(三). 改变上传文件大小和时间限制

<httpRuntime>
executionTimeout="110" //允许上传文件最大等待时间
maxRequestLength="4096" //上传文件大小,默认为4M
</httpRuntime>

上传文件大小是由上面两个参数所决定的. 涉及到安全因素,最好不要设得太大.

(四). 示例源代码下载

http://www.cnblogs.com/Files/ChengKing/UpMultiFileControl.rar

(五).控件缺点

由于安全原因, 用服务端控件实现,回发时选择的文件不能够保存.

分享到:
评论

相关推荐

    Asp.net 2.0 用FileUpload 控件实现多文件上传

    要实现多文件上传,我们需要对FileUpload控件做一些扩展,因为ASP.NET 2.0原生的FileUpload控件仅支持单个文件上传。一种常见的方法是使用HTML5的`&lt;input type="file" multiple /&gt;`特性,这允许用户选择多个文件。...

    Asp.net 2.0 FileUpload 控件的用法

    `FileUpload`控件是ASP.NET框架中用于处理用户上传文件的一个重要组件,它允许用户选择一个或多个文件并将其上传到服务器。在上述提供的代码片段中,我们可以看到`FileUpload`控件是如何被集成到一个简单的ASP.NET ...

    ASP.NET 2.0高级控件之FileUpload控件

    在 ASP.NET 2.0 的框架下,FileUpload 控件是处理用户上传文件的一个强大工具。它允许用户选择本地计算机上的文件,并将其上传到服务器端指定的位置。与早期版本相比,ASP.NET 2.0 对 FileUpload 控件进行了优化和...

    ASP.NET.FileUpload控件

    ASP.NET的FileUpload控件是Web开发中用于处理文件上传功能的重要组件。它允许用户从他们的本地计算机选择一个或多个文件,并将这些文件上传到服务器。在本文中,我们将深入探讨FileUpload控件的基本用法,包括如何在...

    Asp.net 2.0 NeatUpload上传大文件小实例

    Asp.net 2.0 NeatUpload是一款专为.NET Framework 2.0设计的文件上传控件,它允许用户在Web应用中方便地上传大文件。这个控件解决了默认ASP.NET上传机制对大文件处理的限制,通过分块上传和断点续传技术,实现了高效...

    ASP.NET_2.0高级控件之FileUpload控件

    ASP.NET 2.0中的FileUpload控件是用于实现网页文件上传功能的重要组件。这个控件极大地简化了在Web应用程序中处理文件上传的过程,使得用户可以方便地选择本地文件并将其上传到服务器。以下是对FileUpload控件及其...

    关于ASP.NET2.0 FILEUPLOAD上传文件大小设置问题

    - 除了在Web.Config中设置全局限制外,还可以在具体使用FileUpload控件的地方添加代码来进一步控制上传文件的大小。 - 下面是一个示例函数,用于检查上传文件是否超过了指定的大小限制: ```csharp public ...

    ASP.Net中FileUpLoad控件

    FileUpload控件是ASP.NET中一个非常实用的工具,可以轻松地实现文件上传功能。通过本文的介绍,您可以了解到如何使用FileUpload控件、如何清空控件内容以及如何实现文件类型的检查。这些技巧可以帮助您构建更加健壮...

    ASP.NET使用fileupload控件上传图片

    本文将详细介绍如何使用ASP.NET中的`FileUpload`控件来实现图片的上传,并进一步探讨如何将图片保存到服务器上的指定文件夹以及如何将图片以二进制形式存储到数据库中。 #### 二、FileUpload 控件介绍 `FileUpload...

    ASP.Net中FileUpLoad控件内容清空

    ### ASP.NET中FileUpload控件内容清空方法详解 在ASP.NET Web开发中,`FileUpload` 控件常被用于实现文件上传功能。但在某些情况下,我们可能需要清空该控件的内容,例如用户取消了文件选择或者上传操作。本文将...

    asp.net2.0+ajax开发的文件上传并显示进度条

    在ASP.NET 2.0中,开发者经常需要处理文件上传的功能,而为了提供更好的用户体验,结合AJAX技术实现文件上传并显示进度条是常见的需求。本文将深入探讨如何使用ASP.NET 2.0和AJAX来实现这一功能。 首先,我们需要...

    ASP.NET 2.0网络编程自学手册源代码(文件上传与下载)

    人民邮电出版社的ASP.NET 2.0网络编程自学手册配套关盘中的第15章 文件按上传与下载的源代码,了解上传文件和下载文件的流程、学会使用FileUpload控件实现文件上传、学会动态添加控件的功能、掌握文件的下载。

    ASP.NET 2.0 快速入门(12)

    ASP.NET 2.0提供FileUpload控件,使得用户可以方便地上传文件,同时,服务器端的代码可以处理上传的文件,如存储到指定目录或数据库。 表单认证和角色管理是ASP.NET 2.0安全特性的一部分。通过FormsAuthentication...

    ASP.NET 2.0全程指南第一章

    使用FileUpload控件,开发者可以方便地接收用户上传的文件,并进行存储或处理。同时,ASP.NET 2.0还支持文件下载,可以通过Response对象的WriteFile方法实现。 最后,安全性是任何Web应用程序不可忽视的部分。ASP...

    Asp.net 2.0实现文件上传与下载

    文件上传功能主要利用FileUpload控件(文件上传控件)来完成,并通过按钮来实现动态添加FileUpload控件。 文件的下载先通过ListBox控件显示文件名,再选择要下载的文件名,单击“下载”按钮,将文件保存到本机。

    【ASP.NET编程知识】asp.net fileupload控件上传文件与多文件上传.docx

    在ASP.NET 2.0及更高版本中,FileUpload控件的使用简化了文件上传流程。用户可以选择一个或多个文件,然后通过HTTP POST请求将它们发送到服务器。在处理多文件上传时,可以使用`FileUpload`控件的`FileCount`属性...

    多文件上传asp.net 2.0+vb.net

    在ASP.NET 2.0平台下,VB.NET编程语言提供了丰富的功能来处理用户在Web应用程序中的文件上传操作。本文将详细讲解如何利用HTML Input控件实现多文件上传,并提供源代码示例,以便开发者理解并应用到自己的项目中。 ...

    asp.net2.0新增控件的介绍(pdf)

    而在ASP.NET 2.0中,Microsoft引入了`FileUpload`控件,它提供了一种更加灵活、强大的文件上传机制。该控件允许开发者在服务器端对上传文件进行更多控制,例如验证文件类型、大小等。 **示例代码**: ```csharp ...

Global site tag (gtag.js) - Google Analytics