Beyond the dream——飛雪飄寒

————磨難不過是人生鍵盤的回車。。。。。。
  博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

【学习】NeatUpload——支持大文件上传的控件

Posted on 2009-12-03 17:22  飛雪飄寒  阅读(9515)  评论(22编辑  收藏  举报

  在【推荐】.NET批量上传控件——HtmlInputFiles 一文中有博友向我推荐了NeatUpload上传控件,于是花了点时间对该控件进行了简单的学习,感觉这个控件真的不错,不但能够支持大文件上传,而且还有上传进度条,更重要的是NeatUpload控件是为数不多的支持大文件上传的免费控件,废话不说了,下面先介绍NeatUpload控件如何使用。
  NeatUpload控件下载

  一、前期准备

  1、下载neatupload的免费版本http://www.brettle.com/neatupload#Download 

  2、访问地址http://www.brettle.com/Demo.aspx查看相应的Demo示例; 

  3、将Brettle.Web.NeatUpload.dll添加到工具箱; 

  4、将\NeatUpload-1.2.32下的NeatUpoad文件夹复制到项目根目录; 

  5、在Web.configsystem.web节点中写入下面的配置 

  <httpModules>

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

  </httpModules> 

  <httpRuntime maxRequestLength="400000" executionTimeout="3600" /> 

  二、NeatUpload.net中的运用

  前台代码

    <Upload:ProgressBar ID="ProgressBar1" runat="server" Inline="True"

        Triggers="" />

       <br />

    <Upload:InputFile ID="AttachFile" runat="server" />

    <br />

    <br />

<asp:Button ID="BtnUP" runat="server" onclick="BtnUP_Click" Text="上 传" />

 

后台代码

        protected void BtnUP_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

            }

    }

附图如下