大文件上传NeatUpload简单用法 (转)

一般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页面代码如下:

1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="LinkedContent.aspx.cs"
 2     Inherits="Koodoo.Web.LinkedContent" %>
 3 
 4 <%@ Register assembly="Brettle.Web.NeatUpload" namespace="Brettle.Web.NeatUpload" tagprefix="Upload" %>
 5 
 6 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 7 <html xmlns="http://www.w3.org/1999/xhtml">
 8 <head runat="server">
 9     <title></title>
10 </head>
11 <body id="linkedcontent">
12     <form id="form1" runat="server">
13     <div class="pagebox">
14         <div class="innerbox">
15         <Upload:InputFile ID="attachFile" runat="server" />
16         <asp:Button ID="btnUpload" Text="上传" runat="server" onclick="btnUpload_Click" />
17         <br />
18         <Upload:ProgressBar ID="ProgressBar1" runat="server" />
19        </div>
20     </div>
21     </form>
22 </body>
23 </html>

 

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

 

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

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

 

 1    < configuration >  
 2 
 3  < configSections >    
 4 
 5  < sectionGroup  name ="system.web" >    
 6 
 7      < section  name ="neatUpload"
 8  type ="Brettle.Web.NeatUpload.ConfigSectionHandler,Brettle.Web.NeatUpload"  allowLocation ="true"   />    
 9 
10    </ sectionGroup >  
11 
12    </ configSections >   
13 
14  < system.web >  
15 
16  < httpModules >  
17 
18  <!--上传大文件 -->  
19 
20  < add  name ="UploadHttpModule"
21  type ="Brettle.Web.NeatUpload.UploadHttpModule,Brettle.Web.NeatUpload" />  
22 
23  </ httpModules >   
24 
25    <!-- useHttpModule="true" 设为true时才能看到上传状态,默认是False -->   
26 
27    < neatUpload  useHttpModule ="true"  maxNormalRequestLength ="1048576"  maxRequestLength ="1048576"  defaultProvider ="FilesystemUploadStorageProvider" >  
28 
29  < providers >   
30 
31  < add  name ="FilesystemUploadStorageProvider"
32  type ="Brettle.Web.NeatUpload.FilesystemUploadStorageProvider, Brettle.Web.NeatUpload" />  
33 
34  </ providers >   
35 
36  </ neatUpload >    
37 
38    < httpRuntime  maxRequestLength ="1048576"  executionTimeout ="3600" />  
39 
40  </ system.web >
41 
42  </ configuration >

 

 最后这里是上面需要的文件和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、付费专栏及课程。

余额充值