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)布好了,接下來(lái)就是點(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('上傳的文件不得超過(guò) 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松處理上傳問(wèn)題。
- 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)文章
注冊(cè)或者點(diǎn)擊按鈕時(shí),怎么防止用戶重復(fù)提交數(shù)據(jù)(實(shí)例講解)
這篇文章主要是對(duì)注冊(cè)或者點(diǎn)擊按鈕時(shí),怎么防止用戶重復(fù)提交數(shù)據(jù)進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-12-12
asp.net access web.config denied
如果出現(xiàn)這個(gè)問(wèn)題,最好首先檢查一下ASPNET的帳號(hào),是否有訪問(wèn)權(quán)限。2009-04-04
asp.net 不用組件的URL重寫(適用于較大型項(xiàng)目)
網(wǎng)上很多關(guān)于url重寫的教程都推薦下載某某某組件, 我個(gè)人不喜歡這樣,即使是M$的組件也一樣,因?yàn)槲覀兏沙绦騿T的,越貼近真相越好。那么我也寫一個(gè)關(guān)于url重寫的文章,希望對(duì)和我一樣有個(gè)性的coder們有點(diǎn)幫助。2009-04-04
.NET?Core配置TLS?Cipher(套件)的詳細(xì)過(guò)程
本文以.NET?5為例,只不過(guò)針對(duì).NET?Core?3或3.1通過(guò)工具掃描出的協(xié)議套件結(jié)果略有所差異,但不影響我們對(duì)安全套件的配置,我們使用OpenSSL生成自簽名證書,對(duì).NET?Core配置TLS?Cipher相關(guān)知識(shí)感興趣的朋友一起看看吧2021-12-12
.net core webapi jwt 更為清爽的認(rèn)證詳解
這篇文章主要介紹了.net core webapi jwt 更為清爽的認(rèn)證詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05
SQL Server 2008 R2:error 26 開啟遠(yuǎn)程連接詳解
本篇文章小編為大家介紹,SQL Server 2008 R2:error 26 開啟遠(yuǎn)程連接詳解。需要的朋友參考下2013-04-04
最簡(jiǎn)單的.NET生成隨機(jī)數(shù)函數(shù)
眾所周知 .Net中Random類生成的隨機(jī)數(shù)是假隨機(jī)數(shù),關(guān)鍵要看構(gòu)造函數(shù)里的種子2009-05-05

