大文件上传NeatUpload简单用法

转自:  http://blog.csdn.net/dotnet_2007/article/details/1810503


由于他给的案例中,比较杂乱,自己整理了一下。

下载地址如下:

http://download.csdn.net/detail/vincent_void/4369120


      一般10M以下的文件上传通过设置Web.Config,再用VS2005自带的FileUpload控件就可以了,但是如果要上传100M甚至1G的文件就不能这样上传了,这时可以用NeatUpload来上传,步骤如下:


       1,在工具箱中添加Brettle.Web.NeatUpload.dll,这个应该会怎样添加吧,我还是说一下吧,刚开始用自定义控件的时候我也不会 ^_^,方法:打开VS2005--->点击'工具箱'--->选中一项,如:'常规'这项--->单击右键--->在弹出的菜单中选'选择项'--->在弹出的窗口中选择'浏览'--->找到'Brettle.Web.NeatUpload.dll'这个文件--->按确定就添加上了,这时工具箱中多出几个控件出来,有InputFile,progressbar 等,我们主要用这两个.


       2.复制文件夹NeatUpload到根目录.


       3.拖放使用上传控件InputFile和进度条ProgressBar,添加上传文件的按钮.aspx页面代码如下:

<% @ Page Language = " C# "  AutoEventWireup = " true "   CodeFile = " Default.aspx.cs "  Inherits = " _Default "   %>

<% @ Register Assembly = " Brettle.Web.NeatUpload "  Namespace = " Brettle.Web.NeatUpload "
    TagPrefix
= " Upload "   %>

<! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "   " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >

< html xmlns = " http://www.w3.org/1999/xhtml "   >
< head runat = " server " >
    
< title > upload </ title >
    
< script type = " text/javascript "  language = " javascript " >
       function ToggleVisibility(id, type) 
       {
         el 
=  document.getElementById(id);
         
if (el.style)
            {
               
if (type  ==   ' on ' )
                {
                    el.style.display 
=   ' block ' ;
                } 
                
else  
                {
                    el.style.display 
=   ' none ' ;
                }
            } 
            
else  
            {
               
if (type  ==   ' on ' )
               {
                    el.display 
=   ' block ' ;
               } 
               
else  
               {
                    el.display 
=   ' none ' ;
               }
            }
       }
 
</ script >
</ head >
< body >
  
< form id = " form1 "  runat = " server " >
  
< div >
       
< upload:InputFile id = " AttachFile "  runat = " server " ></ upload:InputFile >
      
< asp:Button ID = " Upload "  runat = " server "  Text = " 上传 "   OnClientClick = " ToggleVisibility('ProgressBar','on') "  OnClick = " Upload_Click " />
        
< div id = " ProgressBar "   style = " display:none; width:auto; " >
           
< upload:progressbar id = " pbProgressBar "  runat = " server "  Inline = " true "  Width = " 500px "  Height = " 35px "  Triggers = " Upload " >   </ upload:progressbar >
           
</ div >
 
</ div >
 
</ form >
</ body >
</ html >


    4.给上传按钮添加Upload_Click事件:

 

     protected   void  Upload_Click( object  sender, EventArgs e)
    {
        
if  (AttachFile.HasFile)
        {
            
string  FileName  =   this .AttachFile.FileName; // 获取上传文件的文件名,包括后缀
             string  ExtenName  =  System.IO.Path.GetExtension(FileName); // 获取扩展名
             string  SaveFileName  =  System.IO.Path.Combine(System.Web.HttpContext.Current.Request.MapPath( " UpLoads/ " ), DateTime.Now.ToString( " yyyyMMddhhmm " +  ExtenName); // 合并两个路径为上传到服务器上的全路径
            AttachFile.MoveTo(SaveFileName, Brettle.Web.NeatUpload.MoveToOptions.Overwrite);
            
string  url  =   " UpLoads/ "   +  DateTime.Now.ToString( " yyyyMMddhhmmss " +  ExtenName;   // 文件保存的路径
             float  FileSize  =  ( float )System.Math.Round(( float )AttachFile.ContentLength  /   1024000 1 );  // 获取文件大小并保留小数点后一位,单位是M
         }
    }  

 

      5.注意,要还在Web.Config里进行设置:

        在<system.web>中添加以下代码:

< httpModules >
       
< add name = " UploadHttpModule "  type = " Brettle.Web.NeatUpload.UploadHttpModule, Brettle.Web.NeatUpload " />
</ httpModules >

 

最后这里是上面需要的文件和dll文件的源代码以及怎样用的例子
Brettle.Web.NeatUpload.dll源代码
NeatUpload文件夹

NeatUpload.dll Demo





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值