程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> Asp.Net超大文件上傳問題解決

Asp.Net超大文件上傳問題解決

編輯:ASP.NET基礎

  最近涉及到用asp.net做上傳功能的一個問題,因為asp.net有fileupload的上傳控件,但是這個控件上傳的文件大小有限,所以根本滿足不了需求
百度了下,很多人遇到asp.net上傳超大文件的困惑,偶爾搜索發現csdn有個哥們提到這個超大文件如何實現,RadUpload.Net2.dll並且提供了這個動態庫進行處理超大文件的上傳處理過程。於是就下載下來看了看,果然效果不錯,不但支持吵過700M的文件上傳快速,更重要的是支持多線程的上傳文件。
查看源代碼發現利用的控件也是fileupload的控件,但是處理的過程調用的是RadUpload.Net2.dll處理的。
上傳後文件存放到bin下面的upload文件夾下面,並且可以對上傳的文件進行重新命名。

RadUpload.Net2.dll:下載地址


1.創建一個aspx的頁面。
2.創建<asp:FileUpload ID="FileUpload1" runat="server" />。
3.創建<asp:Button ID="Button3" runat="server" Text="上傳" OnClick="Button1_Click" />
4.上傳代碼中調用net2.dll的動態庫處理過程。
5.如果創建多個上傳文件,可以多寫幾個<asp:FileUpload ID="FileUpload1" runat="server" />。
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;             
            }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved