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

ISP图像处理Verilog仿真框架搭建(附代码 基于Verilog的图像处理仿真框架搭建 阅读详情
2006年04月30日 22:19:00

学习, And 整理了一下.

(一). 示例图片

(二). 示例代码

1 public 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 /// >summary<
16 /// 添加一个上传文件控件
17 /// >/summary<

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 /// >summary<
32 /// 读取缓存中存储的上传文件控件集
33 /// >/summary<

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 /// >summary<
52 /// 保存当前页面上传文件控件集到缓存中
53 /// >/summary<

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 /// >summary<
81 /// 上传文件操作
82 /// >/summary<

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 +"/">br<>br<" );
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}

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

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

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

(四). 示例源代码下载

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

(五).控件缺点

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



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=699244


CPU核心、die和package的区别:从硬件小白到高手的进阶指南 本文深入浅出地解析了CPU核心、Die与Package的核心概念与区别,是硬件爱好者从入门到精通的实用指南。文章从硅晶圆制造讲起,阐述了物理核心与逻辑线程(如超线程技术)的工作原理,并详细介绍了封装(Package)的作用与多Die模块化设计。最后,结合实际应用场景,提供了选购、性能解读与优化调优的实用建议。 阅读详情

相关推荐

asp.net批量上传组件(可同时选择多个文件)

asp.net批量上传组件(可同时选择多个文件), 很好的一个上传组件。。

()ASP.NET 2.0(C#)实现多文件上传

用户控件的使用可以大大提高程序的开发进度,同时,也使代码规范整洁,程序结构清晰。本文基于实际项目,实现了一个多文件上传用户控件。下面先简单描述一下控件的功能: 1、可以实现多文件上传,可控制上传数量,可以添加文件的描述;2、可以控制上传文件的格式类型,通过设置不同的格式类型,可以实现多图片的上传多文件上传、多视频的上传;当然,你也可以混合上传;3、上传的文件即可显示在列表中,可以查看图片...

weixin_34099526的博客 139

基于知识图谱的《三国演义》人物关系可视化及问答系统源码+详细文档+全部资料.zip

【资源说明】基于知识图谱的《三国演义》人物关系可视化及问答系统源码+详细文档+全部资料.zip【备注】1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。欢迎下载,沟通交流,互相学习,共同进步!

asp.net 2.0中允许一次上传多个文件的设计

asp.net 2.0中,可以结合dhtml来实现用户上传完一个文件后,再点“继续上传”,而动态增加上传文件框 首先是前台的页面 &lt;script language="javascript" type="text/javascript"&gt;  function addFile(max)  {     var file = document.getElementsByName("File...

jackyrongvip的专栏 225

ASP.NET实现多文件上传

在以前的Web应用中,上传文件是个很麻烦的事,现在有了.NET,文件上传变得轻而易举。下面的这个例子实现多文件上传功能。可以动态添加输入表单,上传的文件数量没有限制。代码如下:   代码 &lt;%@ Page Language="C#" AutoEventWireup="true" CodeFile="MultiFileUpload.aspx.cs"  Inherits="Mult...

weixin_33717117的博客 236

浏览器兼容多文件上传控件

浏览器兼容多文件上传控件 fileUpload.css @charset "utf-8"; /* CSS Document */ .fileBox { dis

daisyliys的博客 3224

Ubuntu IntelliJ IDEA 注冊碼與Gradle相關

.Ubuntu IntelliJ IDEA 注冊碼 在线免费生成IntelliJ IDEA 15.0(16.+)注册码 注冊參考:https://www.iteblog.com/idea/ 依次选择菜单Help-&gt;Register-&gt;License server即可,如下:提供的License server(服务器地址为http://idea.iteblog.com/key.p...

weixin_34106122的博客 140

Mac IDEA 正版注册码 使用方法

很多朋友喜欢用 mac ,使用的工具有 jetbrains 全家桶, intellij IDEA PYCHARM WEBSTOEM PHPSTOTM RESHARPER , DATAGRIP , RUBYMINE, APPCODE, RIDER, DOTCOER, CLION , GOLAND, RESHARPER C++, DOTRRACE, DOTMEMERY. 等工具, 但是很多版本更新太...

chaoren499的专栏 2422

idea 注册码

1. 到网站 http://idea.lanyus.com/ 获取注册码。 2.填入下面的license server:   http://intellij.mandroid.cn/  http://idea.imsxm.com/  http://idea.iteblog.com/key.php 以上方法验证均可以

我要上天 1457

idea 2017注册码

欢迎访问我的个人博客网站:http://www.yanmin99.com/ Redis介绍 一、Redis介绍REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言

lcyaiym的专栏 2205

Java学习之安装intellij IDEA

下载地址:http://www.jetbrains.com/idea/ 点击download进行下载: 选择安装路径,下一步: 根据需要选择: 直接下一步解压安装: run运行,运行时提供第一次运行时的向导 根据情况选择是否安装过,还存在setting设置 提示设置主题: 配置需要的功能: 保存并返回: javaE...

乱写乱画 2509

idea的注册码

转自http://idea.lanyus.com/ idea注册码,亲测有效 MNQ043JMTU-eyJsaWNlbnNlSWQiOiJNTlEwNDNKTVRVIiwibGljZW5zZWVOYW1lIjoiR1VPIEJJTiIsImFzc2lnbmVlTmFtZSI6IiIsImFzc2lnbmVlRW1haWwiOiIiLCJsaWNlbnNlUmVzdHJpY3Rpb24iOiIiLC...

qq_44883392的博客 3373

idea2018注册码激活

下载JetbrainsCrack-2.10-release-enc.jar这个jar包. 然后放到D:\IntelliJ IDEA\IntelliJ IDEA 2018.1.5\binidea安装目录的的bin文件夹下 然后对本文件夹下的 idea.exe.vmoptions和idea64.exe.vmoptions这两个文件进行修改 打开着俩文件在最后加上这...

ccllcaochong1的博客 1万+

idea 注册码获取

点开网站,里面的注册码都可以使用https://www.licensez.com/ 获取注册码 http://idea.lanyus.com/

MasonCen的专栏 679

idea2017激活、注册码

两个方法: 一、使用注册码,可以上这儿去找http://idea.lanyus.com/  二、填入license server      http://intellij.mandroid.cn/        http://idea.imsxm.com/                       http://idea.iteblog.com/key.php

愤怒的苹果ext的博客 3779

idea2017的获取注册码的方法

参考链接:http://www.cnblogs.com/suiyueqiannian/p/6754091.html 1. 到网站 http://idea.lanyus.com/ 获取注册码。 2.填入下面的license server:   http://intellij.mandroid.cn/   http://idea.imsxm.com/   http://idea.it

yanguo110的博客 7938

如何在Mac上安装IntelliJ IDEA

不同的开发者想要安装IDEA的目的不一样,有的想来开发Java,有的可以开发Android(Android Studio就是由IDEA修改而来的),有的想开发网页应用。不得不承认,IDEA还是比较强大的。下面来详细说明如何在Mac上安装IDEA。 (1)进入IDEA官网:  http://www.jetbrains.com/idea/     。 (2)点击Download,进入下载页面。在这

乞力马扎罗的雪CYF的博客 6575

IDEA2016注册码

IntelliJ IDEA的在线注册码生成页面 http://idea.iteblog.com 新的License server地址为:http://idea.iteblog.com/key.php

鹏然心动 489

在线免费生成 <IDEA>全系列 注册码

通知 由于本博客从2016-08-06开始全面切到HTTPS访问模式,而IntelliJ IDEA的License server不支持HTTPS访问,所以本博客将IntelliJ IDEA的在线注册码生成页面转到了http://idea.iteblog.com;新的License server地址为:http://idea.iteblog.com/key.php。请大家及时切换到新的L...

weixin_34377919的博客 254
上一篇: 站点中,实现: 在线签名 功能 (示例代码下载)
下一篇: [收藏]春天来了,燕子回来了,异乡漂泊的人们也可以回家了^^
softart
博客等级 码龄19年 66粉丝 2569原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值