1、AspnetUpload
地址:http://www.aspnetupload.net/
最早接觸的上傳控制項。帶進度條,能與系統內建的InputFile控制項共用。不過是收費的,而且對Firefox支援較差。最新版本是2.3
2、FancyUpload - Swiff meets Ajax (v2.0)(開源)
地址:http://digitarald.de/project/fancyupload/
Falsh上傳,Ajax技術,還不錯。
3、SWFUpload(開源)
地址:http://swfupload.org/
利用JavaScript/Flash技術,非常成熟,跨平台,支援大多數瀏覽器。
4、這裡再提供一個完整的原始碼(來自CodeProject)
地址:http://www.codeproject.com/KB/aspnet/FlashUpload.aspx
Multiple File Upload With Progress Bar Using Flash and ASP.NET
也可以從這裡下載
邀月補充:
5、 Ajax Uploader
ASP.NET File Upload like GMail(像Gmail那樣上傳檔案,聽名字就有點吸引人)
Ajax Uploader is an easy to use, hi-performance File Upload Control which allows you to upload files to web server without refreshing the page.
It allows you select and upload multiple files and cancel running uploads, add new files during uploading.
Ajax Uploader allows you to upload large files to a server with the low server memory consumption. The look and feel of file upload controls can be customized to seamlessly blend into your website design.
Demo | Download
6、ComponentArt UI Framework 2009.2 for .NET 的Upload組件
官方網站http://www.componentart.com/
這個就不用說了! 示範地址
http://aspnetajax.componentart.com/control-specific/upload/features/core_features/webform1.aspx
7.NeatUpload——支援大檔案上傳的控制項
在【推薦】.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
}
}
附圖如下