- 浏览: 7834335 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
看到一篇老外的文章,说在asp.net 中,如何先让用户把要上传的文件都选好了,然后一次上传,
今小结如下
首先在页面加一个上传文件控件,一个“attach"按钮,一个listbox,用来存放等待上传的文件名,
一个"UPLOAD"按钮,一个”删除按钮
<form id="Form1" method="post" runat="server">
<INPUT id="FileUpload" style="Z-INDEX: 101; LEFT: 83px; WIDTH: 489px; POSITION: absolute; TOP: 67px; HEIGHT: 22px"
type="file" size="62" runat="server">
<asp:button id="btnAttach" style="Z-INDEX: 102; LEFT: 591px; POSITION: absolute; TOP: 66px"
runat="server" Text="Attach"></asp:button><asp:listbox id="ListBox1" style="Z-INDEX: 103; LEFT: 84px; POSITION: absolute; TOP: 104px" runat="server"
Width="565px" Height="93px"></asp:listbox><asp:button id="btnUpload" style="Z-INDEX: 104; LEFT: 91px; POSITION: absolute; TOP: 198px"
runat="server" Text="Upload"></asp:button><asp:button id="btnDelete" style="Z-INDEX: 105; LEFT: 684px; POSITION: absolute; TOP: 131px"
runat="server" Text="Delete" Width="58px"></asp:button>
<asp:Label id="Label1" style="Z-INDEX: 106; LEFT: 166px; POSITION: absolute; TOP: 199px" runat="server"
Width="476px" ForeColor="Red"></asp:Label></form>
之后,在"attach"按钮中代码如下:
private void btnAttach_Click(object sender, System.EventArgs e)
{
// Save the attached file to fileName variable
string fileName = FileUpload.PostedFile.FileName;
// If the counter is null then create one with default value equal to 0
if(ViewState["i"] == null)
{
ViewState["i"]= 0;
}
// Check if a file is selected
if(fileName != null || fileName != string.Empty)
{
// Add it to the collection
ListBox1.Items.Add(FileUpload.PostedFile.FileName);
// Save an index for each selected file
int i = Convert.ToInt32(ViewState["i"]);
// Save the fileupload control into a different session
Session["myupload" + i] = FileUpload;
// Increment the counter
i++;
// Set the ViewSate to the latest counter value.
ViewState["i"] = i;
}
}
很明显,其实是用viewstate来存放用户上传的实际文件名,这需要用户在选择文件后用
"attach"按钮来将文件添加到那个listbox框中去
之后是“upload"的代码,
private void btnUpload_Click(object sender, System.EventArgs e)
{
int sessionCount = Session.Count;
///int sessionCount = Convert.ToInt32(ViewState["i"]);
for( int i =sessionCount-1;i>=0;i--)
{
if(sessionCount <= 3)
{
HtmlInputFile hif = (HtmlInputFile)Session["myupload" + i];
if(hif.PostedFile.ContentLength <= 500000)
{
string storePath = Server.MapPath("~") + "/MultipleUpload";
if(!Directory.Exists(storePath))
Directory.CreateDirectory(storePath);
hif.PostedFile.SaveAs(storePath + "/" + Path.GetFileName(hif.PostedFile.FileName));
Label1.Text = "Your Files are uploaded successfully";
ListBox1.Items.Clear();
}
else
Label1.Text = "An error occured";
}
else
Label1.Text = "You have exceeded the maximum number of files to be uploaded (3)";
}
Session.RemoveAll();
}
实际上是将所有的要上传的文件从session里取回来,然后每一个逐一上传
最后是把要上传的文件从listbox里删除的代码,在session里remove掉
private void btnDelete_Click(object sender, System.EventArgs e)
{
if(ListBox1.SelectedIndex > -1)
{
int uploadedFileIndex = ListBox1.SelectedIndex;
Session.Remove("myupload" + uploadedFileIndex);
ListBox1.Items.Remove(ListBox1.SelectedValue);
}
}
总结一下,用在上传文件不多的情况下比较好,因为要用session
发表评论
-
.NET 嵌入式版4.2发布:关键更新抢先看
2012-02-22 14:57 1831作为.NET家族的一员,.Net Micro Framewor ... -
asp.net中模拟测试smtp发信
2011-03-20 18:47 1873在asp.net 中,有时要测试发信SMTP,但如果在单元测试 ... -
vs.net 2010两个数据库方面的好工具
2011-02-14 11:47 1843今天发现vs.net 2010在处理数据库方面的两个不错的工具 ... -
将gridview导出到excel,world,pdf的小结
2011-02-07 22:47 2946下面小结下把gridview的数据导出到excel,world ... -
gridviewtips1:gridview的页脚中的加亮显示和页数显示
2011-01-27 09:58 2350在asp.net 中,要经常显示gridview中的页数,并且 ... -
asp.net 4中的HTML过滤的一个新特性
2011-01-21 09:47 1852在asp.net 4中,有个新增加的对HTML过滤,防止XSS ... -
在vs.net 2010中使用重构方法
2011-01-20 16:55 2149在vs.net 2010中,可以很方便地对一些冗余的代码进行重 ... -
一个比较好的.net 3.5的异常报告类
2011-01-10 14:51 1946发现了一个比较好的异常报告类,其中用到了.net 3.5以上的 ... -
asp.net 4.0中menu菜单的改进
2011-01-03 22:47 2568在asp.net 3.5时,如果用menucontrol时,使 ... -
asp.net 4中的新特性之一:控制URL长度
2010-09-14 23:06 2385asp.net 4中的新特性之一:控制URL长度。在ASP.N ... -
vs.net 2010中使用code snippets
2010-09-09 20:58 1567其实在vs.net 2010中,使用code snippets ... -
百万开发者拥戴!七大.NET著名开源项目
2010-09-07 09:42 2279新翻译了篇帖子,原文发表在 http://publish.i ... -
asp.net 2010中jquery调用webservice
2010-08-30 22:21 2750在asp.net 2010中,在建立web应用时,默认已经在s ... -
.net中的placeholder控件
2005-01-15 20:00 1914最近留意到有人问,NET中的placeholder控件用来做什 ... -
asp.net 中一次性更新DATAGRID中所有记录
2005-01-15 20:03 937在asp.net中,如何一次性 ... -
在asp.net 中实现只允许数字输入的文本框
2005-01-15 20:18 1487在asp.net 中实现只允许数字输入的文本框,其实是十分简单 ... -
一个重构代码的小技巧
2005-01-16 21:58 1132刚开始接触重构,听就听的多了,理论没认真看过,不过今天发现,将 ... -
防止SQL注入攻击
2005-02-05 14:42 1138看了本期ASP。NET杂志里的一篇讲防止SQL注入攻击的文章, ... -
优秀.net 控件包介绍
2005-02-18 19:47 1668在oday上看到得,将介绍摘录在这里 NetAdvantage ... -
vs.net 2005中的ConfigurationManager
2005-05-06 18:11 1621vs.net 2005中的ConfigurationManag ...
相关推荐
Asp.net同时上传多个文件Asp.net同时上传多个文件Asp.net同时上传多个文件Asp.net同时上传多个文件
用的外国的思想,进行动态的添加文件,然后一起上传,看看国外的是怎样保存的文件,
asp.net+ajax 实现的多文件上传, 支持文件单独和批量上传,单个和批量移除
ASP.NET同时上传多个文件 asp.net 1.1 c#
asp.net同时上传多个文件
asp.net+bootstrap多文件上传
一个简单的ASP.NET实现多文件上传代码
一款基于ASP.net+jQuery的无刷新多文件上传系统,轻松实现AJAX无刷新上传文件,没有使用任何第三方控件,全是用ASP.NET自写程序实现的上传,一次可以上传多个文件,用到了jQuery插件来控制程序的执行,可以适合添加...
[上传下载]ASP.NET同时上传多个文件_aspxcnup(ASP.NET源码).rar
[上传下载]ASP.NET同时上传多个文件_aspxcnup.zip源码ASP.NET网站源码打包下载[上传下载]ASP.NET同时上传多个文件_aspxcnup.zip源码ASP.NET网站源码打包下载[上传下载]ASP.NET同时上传多个文件_aspxcnup.zip源码ASP...
Ajax+ASP.net多个大文件上传控件附示例。
asp.net中的FileUpload控件一次只能实现上传一个文件,若要上传多个文件的话必须使用多个FileUpload控件,但一次上传多少个文件有时不确定,所以就想到了动态创建控件。此处是用下拉列表控件的postback控制的,要想...
Asp.Net 用Jquery的jdownloadt和Uploadify方法实现多个文件上传及下载
asp.net上传 可以上传无限大小的文件,同时可以选择多个,也可以设置上传大小
多个图片上传实例 asp.net 方法多个,批量/单张等。 【ASP.NET图片批量上传,可预览带进度条】 【SP.net+jQuery无刷新多文件上传】 【仿QQzone批量上传图片】 【生成缩略图 加文字水印 图片水印】 【126.com批量上传...
ASP.NET同时上传多个文件_一键上传下载.7z
JS 实现文件流程框删除和新增,后台获取文件上传列表进行处理,进而实现多文件上传,【不是一次性多选文件自动生成多个连接的那种】,一积分下载回复即可返回,留下脚印吧,亲们
asp.net 多文件上传、图片上传demo. 代码简单。 任意选择多个文件,并可以删除单独文件。