在 Asp.Net批量上傳控件:HtmlInputFiles 一文中有朋友向我推薦了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" οnclick="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
}
}