Asp.Net超大文件上傳問(wèn)題解決
最近涉及到用asp.net做上傳功能的一個(gè)問(wèn)題,因?yàn)閍sp.net有fileupload的上傳控件,但是這個(gè)控件上傳的文件大小有限,所以根本滿足不了需求
百度了下,很多人遇到asp.net上傳超大文件的困惑,偶爾搜索發(fā)現(xiàn)csdn有個(gè)哥們提到這個(gè)超大文件如何實(shí)現(xiàn),RadUpload.Net2.dll并且提供了這個(gè)動(dòng)態(tài)庫(kù)進(jìn)行處理超大文件的上傳處理過(guò)程。于是就下載下來(lái)看了看,果然效果不錯(cuò),不但支持吵過(guò)700M的文件上傳快速,更重要的是支持多線程的上傳文件。
查看源代碼發(fā)現(xiàn)利用的控件也是fileupload的控件,但是處理的過(guò)程調(diào)用的是RadUpload.Net2.dll處理的。
上傳后文件存放到bin下面的upload文件夾下面,并且可以對(duì)上傳的文件進(jìn)行重新命名。
RadUpload.Net2.dll:下載地址
1.創(chuàng)建一個(gè)aspx的頁(yè)面。
2.創(chuàng)建<asp:FileUpload ID="FileUpload1" runat="server" />。
3.創(chuàng)建<asp:Button ID="Button3" runat="server" Text="上傳" OnClick="Button1_Click" />
4.上傳代碼中調(diào)用net2.dll的動(dòng)態(tài)庫(kù)處理過(guò)程。
5.如果創(chuàng)建多個(gè)上傳文件,可以多寫幾個(gè)<asp:FileUpload ID="FileUpload1" runat="server" />。
6.最后單擊上傳按鈕,執(zhí)行其中處理過(guò)程。
具體過(guò)程如下
foreach (UploadedFile file in RadUploadContext.Current.UploadedFiles)
{
string Path = Server.MapPath(@"~/Uploads");
//如果路徑不存在,則創(chuàng)建
if (System.IO.Directory.Exists(Path) == false)
{
System.IO.Directory.CreateDirectory(Path);
}
//組合路徑,file.GetName()取得文件名
string oldfilename = file.GetName().ToString();
//如果對(duì)上傳后的文件進(jìn)行重新命名,根據(jù)guid進(jìn)行命名,則放開下面二行代碼
//string fileType = oldfilename.Substring(oldfilename.LastIndexOf("."));
//string newfilename = Guid.NewGuid().ToString("N") + fileType;
//Path = Path + "/" + file.GetName().ToString();
Path = Path + "/" + oldfilename;
//保存
file.SaveAs(Path, true);
string newurl = @"~/Uploads/" + oldfilename;
}
相關(guān)文章
.net控件dropdownlist動(dòng)態(tài)綁定數(shù)據(jù)具體過(guò)程分解
一、在頁(yè)面初始化時(shí)候?qū)⒓辖壎ǖ紻ropDownList;二、在頁(yè)面初始化的時(shí)候向DropDownList添加數(shù)據(jù);三、將DataReader讀取的數(shù)據(jù)動(dòng)態(tài)綁定到DropDownList等等2013-05-05ASP.NET連接sql2008數(shù)據(jù)庫(kù)的實(shí)現(xiàn)代碼
這篇文章主要介紹了ASP.NET連接sql2008數(shù)據(jù)庫(kù)的實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-01-01Coolite Cool Study 1 在Grid中用ComboBox 來(lái)編輯數(shù)據(jù)
作為Coolite的第一個(gè)教程,我想展現(xiàn)給大家能夠體現(xiàn)Coolite強(qiáng)大的例子(當(dāng)然也比官方例子稍微復(fù)雜一點(diǎn))。2009-05-05.Net Core實(shí)現(xiàn)選擇數(shù)據(jù)熱更新讓服務(wù)感知配置的變化
這篇文章主要介紹了.Net Core實(shí)現(xiàn)選擇數(shù)據(jù)熱更新讓服務(wù)感知配置的變化,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03AspNetPager分頁(yè)控件源代碼(Version 4.2)
AspNetPager分頁(yè)控件源代碼(Version 4.2)...2007-04-04asp.net下DataSet.WriteXml(String)與(Stream)的區(qū)別
asp.net下DataSet.WriteXml(String)與(Stream)的區(qū)別...2007-04-04asp.net 水晶報(bào)表隔行換色實(shí)現(xiàn)方法
水晶報(bào)表隔行換色實(shí)現(xiàn)方法,需要的朋友可以參考下。2009-11-11