使用FileUpload实现多个文件同时上传

        最近公司做东西要求上传的地方有点多,所以现在想写点关于上传的东西。
        最近在网上看到一个朋友的视频教程,使用FileUpload实现多个文件同时上传的例子,感觉他的方法比较简单,所以就想写下来供需要的朋友使用。下面就是主要的界面,大家可以参考一下。下面我们来解释他的实现方法:

首先我们看一下界面,开始界面上有个Panel1,里面有个FileUpload控件,然后在Panel1外面有个TextBox控件,一个Button按钮,用来实现增加FileUpload控件的,还有一个Button按钮是用来实现上传功能的。看一些界面源文件:

None.gif < asp:Panel ID = " Panel1 "  runat = " server "  Height = " 50px "  Width = " 302px " >
None.gif            
< asp:FileUpload ID = " ful "  runat = " server "   />
None.gif            
< input id = " File1 "  runat = " server "  type = " file "   /></ asp:Panel >
None.gif    
None.gif    
</ div >
None.gif        
< asp:TextBox ID = " textSum "  runat = " server "  Width = " 63px " ></ asp:TextBox >
None.gif        
< asp:Button ID = " AddBtn "  runat = " server "  OnClick = " AddBtn_Click "  Text = " 增加 "   />
None.gif        
< asp:Button ID = " FileUploadBtn "  runat = " server "  OnClick = " FileUploadBtn_Click "  Text = " 全部上传 "   />
界面设计好以后看一下后台的代码怎么写的,其实后台的代码是很简单的,先看看怎么生成多的FileUpload控件的。
None.gif protected   void  AddBtn_Click( object  sender, EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        System.Web.UI.WebControls.FileUpload fu;
InBlock.gif        
int sum =Convert.ToInt32(textSum.Text);
InBlock.gif        
for (int i = 0; i < sum; i++)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            fu 
= new System.Web.UI.WebControls.FileUpload();
InBlock.gif            fu.ID 
= "fu_" + i.ToString();
InBlock.gif            
//fu.file
InBlock.gif
            Panel1.Controls.Add(fu);
ExpandedSubBlockEnd.gif        }

ExpandedBlockEnd.gif    }
控件生成以后就要实现上传的功能了,上传的功能也是很简单的,大家看一下:
None.gif protected   void  FileUploadBtn_Click( object  sender, EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        
string f_name, f_size, f_type;
InBlock.gif        HttpFileCollection hfc 
= Request.Files;
InBlock.gif        
for (int i = 0; i < hfc.Count; i++)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            HttpPostedFile hpf 
= hfc[i];
InBlock.gif            f_name 
= hpf.FileName;
InBlock.gif            f_size 
= hpf.ContentLength.ToString();
InBlock.gif            f_type 
= hpf.ContentType;
InBlock.gif            
string filename = System.IO.Path.GetFileName(f_name);
InBlock.gif            hpf.SaveAs(
@"E:\fileupload\"+filename);
InBlock.gif            Response.Write(
"<br>" + f_name + "<br>" + f_size + "<br>" + f_type);
ExpandedSubBlockEnd.gif        }

ExpandedBlockEnd.gif    }

好了,这样就可以实现多个文件同时上传了。


注意:这里因为是作为例子来弄的,对于一些界面的控制和一些对用户输入的控制都没有写出来。如果具体使用的话自己根据具体情况添加一些控件即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值