实现ASP.NET中FileUpload多文件上传

这里附加一下上传单个文件的CS代码:

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt protected   void  upload_Click( object  sender, EventArgs e)
    {

        
if  (upfile.HasFile)
        {
            
string  fname  =  upfile.PostedFile.FileName;
            
int  fi  =  fname.LastIndexOf( " \\ " +   1 ;
            
string  filename  =  fname.Substring(fi);
            upfile.PostedFile.SaveAs(Server.MapPath(
" upload\\ "   +  filename));
            Response.Write(
" " );
        }
        
else
        {
            Response.Write(
" " );
        }

    }

下面是上传多个文件的全部代码,第一次实现这样的功能,难免有考虑不周全的地方,还望高手见到后指教!

【显示页面代码】:

标签中插入如下脚本代码:

 

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt < script type = " text/javascript " >
         
function  addfile()
         {
          
var  uploadfiles = document.getElementById( " uploadfiles " ),
    str 
=   ' ' ;
          uploadfiles.innerHTML
+= str;
         }
< / script>

 

在页面主体部分插入:

 

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt < div >
     
< id ="uploadfiles" >< input  type ="file"  size ="50"  name ="file" > p >
     
< input  onclick ="addfile()"  type ="button"  value ="增加" >
     
< asp:button  id ="uploadbutton"  Text ="开始上传"  Runat ="server" > asp:button >
div >

 

【C#代码】:

添加using指令:using System.Text.RegularExpressions;

在protected void Page_Load(object sender, EventArgs e){}中插入如下代码:

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt HttpFileCollection files  =  HttpContext.Current.Request.Files;
        
// 状态信息
        System.Text.StringBuilder strMsg  =   new  System.Text.StringBuilder();
        
for  ( int  ifile  =   0 ; ifile  <  files.Count; ifile ++ )
        {
            HttpPostedFile postedfile 
=  files[ifile];
            
string  filename, fileExt;
            filename 
=  System.IO.Path.GetFileName(postedfile.FileName);     // 获取文件名
            fileExt  =  System.IO.Path.GetExtension(filename);     // 获取文件后缀

            
int  MaxAllowUploadFileSize  =  Convert.ToInt32(System.Configuration.ConfigurationSettings.
AppSettings[
" MaxAllowUploadFileSize " ]);      // 定义允许上传文件大小
             if  (MaxAllowUploadFileSize  ==   0 ) { MaxAllowUploadFileSize  =   26500 ; }
            
string  allowexts  =  System.Configuration.ConfigurationSettings.AppSettings[ " AllowUploadFileType " ]; 
 
// 定义允许上传文件类型
             if  (allowexts  ==   "" ) { allowexts  =   " doc|docx|rar|xls|xlsx|txt " ; }
            Regex allowext 
=   new  Regex(allowexts);

            
if  (postedfile.ContentLength  <  MaxAllowUploadFileSize  &&  allowext.IsMatch(fileExt))  // 检查文件大小及扩展名
            {
                postedfile.SaveAs(Server.MapPath(
" upload\\ "   +  filename  +  fileExt));     // upload为与本页面同一目录,可自行修改
            }
            
else
            {
                Response.Write(
" "   +  fileExt  +   " 或文件过大') " );
            }
        }

【Web.config中代码】:

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt < appSettings >
    
< add  key ="MaxAllowUploadFileSize"  value ="256000"   />
    
< add  key ="AllowUploadFileType"  value ="doc|docx|rar|xls|xlsx|txt"   />
appSettings >

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-616848/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12639172/viewspace-616848/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值