最近涉及到用asp.net做上傳功能的一個問題,因為asp.net有fileupload的上傳控件,但是這個控件上傳的檔案大小有限,所以根本滿足不了需求
百度了下,很多人遇到asp. net上傳超大檔案的困惑,偶爾搜尋發現csdn有個哥們提到這個超大檔案如何實現,RadUpload.Net2.dll並且提供了這個動態函式庫進行處理超大檔案的上傳處理過程。於是就下載下來看了看,果然效果不錯,不但支援吵過700M的檔案上傳快速,更重要的是支援多執行緒的上傳檔案。
查看原始碼發現利用的控制項也是fileupload的控件,但是處理的程序呼叫的是RadUpload.Net2.dll處理的。
上傳後檔案存放到bin下面的upload資料夾下面,並且可以將上傳的檔案重新命名。
1.建立一個aspx的頁面。
2.建立
3.建立
4.上傳程式碼中呼叫net2.dll的動態函式庫處理過程。
5.如果建立多個上傳文件,可以多寫幾個
6.最後點擊上傳按鈕,執行其中處理過程。
具體流程如下
foreach (UploadedFile file in RadUploadContext.Current.UploadedFiles) { string Path = Server.MapPath(@"~/Uploads"); //如果路径不存在,则创建 if (System.IO.Directory.Exists(Path) == false) { System.IO.Directory.CreateDirectory(Path); } //组合路径,file.GetName()取得文件名 string oldfilename = file.GetName().ToString(); //如果对上传后的文件进行重新命名,根据guid进行命名,则放开下面二行代码 //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; }
更多Asp.Net超大檔案上傳問題解決相關文章請關注PHP中文網!