转载:http://www.cnblogs.com/dreamof/archive/2009/12/03/1616371.html
在【推荐】.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.config的system.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
}
}
附图如下