ASP.NET對(duì)大文件上傳的解決方案
首先,我們需要下載這個(gè)名為 RanUpLoad 的組件。
下載完成之后,兩個(gè) dll 文件添加到項(xiàng)目的引用中區(qū),xml 文件也要復(fù)制在項(xiàng)目中的 bin 文件夾下,也就是最后三個(gè)文件都要存在于 bin 文件夾中。
接著,上傳控件還是用 ASP.NET 中自帶的 FileUpload 控件,需要添加的就是在 FileUpload 控件旁邊加入標(biāo)簽:
<radU:RadProgressManager ID="Radprogressmanager1" Width="100%" runat="server" /> <radU:RadProgressArea ID="progressArea1" Width="100%" runat="server"> </radU:RadProgressArea>
并且在 aspx 文件的起始處添加如下代碼:
<%@ Register TagPrefix="telerik" Namespace="Telerik.QuickStart" Assembly="Telerik.QuickStart" %> <%@ Register TagPrefix="radU" Namespace="Telerik.WebControls" Assembly="RadUpload.Net2" %>
當(dāng)然,配置文件的 <system.web> 標(biāo)簽中不能忘記下面這些語(yǔ)句:
<httpRuntime executionTimeout="3600" maxRequestLength="2097151" ></httpRuntime> <httpModules> <add name="RadUploadModule" type="Telerik.WebControls.RadUploadHttpModule, RadUpload.Net2"/> </httpModules> <httpHandlers> <add verb="*" path="Telerik.RadUploadProgressHandler.aspx" type="Telerik.WebControls.RadUploadProgressHandler, RadUpload.Net2"></add> </httpHandlers>
現(xiàn)在,外部的輪廓都已經(jīng)布好了,接下來就是點(diǎn)擊上傳之后服務(wù)器端所需的操作:
當(dāng)然,做這些操作之前,我們先 using 一下 Telerik.WebControls 命名空間。
// 檢查文件
if (RadUploadContext.Current == null) { return; }
if (RadUploadContext.Current.UploadedFiles.Count <= 0)
{
this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "MsgBox", "<script>alert('請(qǐng)選擇上傳文件 !')</script>");
return;
}
if (RadUploadContext.Current.UploadedFiles[0].ContentLength >= 2147483647)
{
this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "MsgBox", "<script>alert('上傳的文件不得超過 2GB !')</script>");
return;
}
UploadedFile file = RadUploadContext.Current.UploadedFiles[0];
string fileName = Path.GetFileName(file.FileName);
string virtualPath = System.IO.Path.Combine("~/save", fileName);
string savePath = this.MapPath(virtualPath);
file.SaveAs(savePath, true); 至此,文件上傳的處理工作已經(jīng)完成,以上的cs代碼是我自己的一些操作處理,大家可以根據(jù)自己情況酌情修改,比如也可以放置多個(gè)FileUpload 控件,
用foreach (UploadedFile file in RadUploadContext.Current.UploadedFiles){ ... } 這樣的方式處理多個(gè)文件的上傳。
希望此篇文章可以幫助對(duì)大文件上傳頭疼的朋友們?nèi)ポp松處理上傳問題。
- asp.net fileupload控件上傳文件與多文件上傳
- asp.net(c#)開發(fā)中的文件上傳組件uploadify的使用方法(帶進(jìn)度條)
- asp.net 多文件上傳,兼容IE6/7/8,提供完整代碼下載
- Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- asp.net下文件上傳和文件刪除的代碼
- asp.net neatUpload 支持大文件上傳組件
- asp.net 文件上傳實(shí)例匯總
- asp.net web大文件上傳帶進(jìn)度條實(shí)例代碼
- ASP.NET MVC 文件上傳教程(一)
- ASP.NET Core文件上傳與下載實(shí)例(多種上傳方式)
相關(guān)文章
asp.net?core?+?jenkins?實(shí)現(xiàn)自動(dòng)化發(fā)布功能
這篇文章主要介紹了asp.net?core?+?jenkins?實(shí)現(xiàn)自動(dòng)化發(fā)布功能,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04
關(guān)于Metalama使用Fabric操作項(xiàng)目或命名空間的問題
Metalama是一個(gè)基于微軟編譯器Roslyn的元編程的庫(kù),可以解決我在開發(fā)中遇到的重復(fù)代碼的問題,這篇文章主要介紹了Metalama使用Fabric操作項(xiàng)目或命名空間,需要的朋友可以參考下2022-04-04
詳解Asp.Net Core 發(fā)布和部署( MacOS + Linux + Nginx )
這篇文章主要介紹了詳解Asp.Net Core 發(fā)布和部署( MacOS + Linux + Nginx ) ,具有一定的參考價(jià)值,有興趣的可以了解一下。2016-12-12
防SQL注入 生成參數(shù)化的通用分頁(yè)查詢語(yǔ)句
前些時(shí)間看了玉開兄的“如此高效通用的分頁(yè)存儲(chǔ)過程是帶有sql注入漏洞的”這篇文章,才突然想起某個(gè)項(xiàng)目也是使用了累似的通用分頁(yè)存儲(chǔ)過程。2010-07-07
.NET讀寫Excel工具Spire.Xls使用 Excel文件的控制(2)
這篇文章主要為大家詳細(xì)介紹了.NET讀寫Excel工具Spire.Xls使用,Excel文件的控制,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
ASP.NET Core 6.0 中使用Autofac的項(xiàng)目實(shí)踐
本文主要介紹了ASP.NET Core 6.0 中使用Autofac的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01
Silverlight4 多語(yǔ)言實(shí)現(xiàn)的方法
這篇文章介紹了Silverlight4 多語(yǔ)言實(shí)現(xiàn)的方法,有需要的朋友可以參考一下2013-10-10

