Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路_.Net教程
推薦:Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討如果某個(gè)網(wǎng)站是通過下面的代碼獲取IP,那么我們只要在Header里隨意設(shè)置HTTP_VIA和X_FORWARDED_FOR,就可以達(dá)到偽造IP的目的 在網(wǎng)卡隨便一搜: Asp.net 客戶端IP 可以搜索到很多頁(yè)面,提供的代碼基本都類似于: 復(fù)制代碼 代碼如下: if (Request.ServerVariables[HTTP_VIA]
相信通過Asp.Net的服務(wù)器控件上傳文件在簡(jiǎn)單不過了,通過AjaxToolkit控件實(shí)現(xiàn)上傳進(jìn)度也不是什么難事,為什么還要自己辛辛苦苦來(lái) 實(shí)現(xiàn)呢?我并不否認(rèn)”拿來(lái)主義“,只是我個(gè)人更喜歡凡是求個(gè)所以然。本篇將闡述通過Html,IHttpHandler和 IHttpAsyncHandler實(shí)現(xiàn)文件上傳和上傳進(jìn)度的原理,希望對(duì)你有多幫助。
效果圖:

本文涉及到的知識(shí)點(diǎn):
1.前臺(tái)用到Html,Ajax,JQuery,JQuery UI
2.后臺(tái)用到一般處理程序(IHttpHandler)和一般異步處理程序(IHttpAsyncHandler),并涉及到”推模式“
一、創(chuàng)建Html網(wǎng)頁(yè)1、在創(chuàng)建的Web工程中添加一個(gè)Html文件,命名為UploadFile.htm,在頭文件中引入JQuery,JQuery UI
<link href="Styles/jquery-ui-1.8.16.custom.css" rel="stylesheet" type="text/css" /> <script src="Scripts/jquery-1.6.2.min.js" type="text/javascript"></script> <script src="Scripts/jquery-ui-1.8.16.custom.min.js" type="text/javascript"></script>2、關(guān)于無(wú)刷新文件上傳
通過Ajax是不能上傳文件的,無(wú)刷新上傳是靠隱藏的iframe來(lái)實(shí)現(xiàn)的
<form id="form" target = "frameFileUpload" enctype="multipart/form-data"> <div id="progressBar" style="font-size: 1em;"></div> <input type="file" id="fileUpload" name="fileUpload" /><span id="progressValue"></span> <iframe id="frameFileUpload" name="frameFileUpload" style="display:none;" ></iframe> <br /> <input type="submit" value="上傳" id = "submit"/> </form>要將form標(biāo)簽的target屬性設(shè)置為iframe的id,當(dāng)然別忘了將form的enctype設(shè)置為multipart/form-data
是用來(lái)顯示上傳文件時(shí)的進(jìn)度條
在JS中加入如下處理:
<script type="text/javascript"> $(function () { $("#submit").button(); $("#fileUpload").button(); }); </script>此時(shí)效果:

添加一個(gè)一般處理程序,命名為UploadFileHandler.ashx
public void ProcessRequest(HttpContext context) { //如果提交的文件名是空,則不處理 if (context.Request.Files.Count == 0 || string.IsNullOrWhiteSpace(context.Request.Files[0].FileName)) return; //獲取文件流 Stream stream = context.Request.Files[0].InputStream; //獲取文件名稱 string fileName = Path.GetFileName(context.Request.Files[0<SPA< td>分享:VS2010 水晶報(bào)表的使用方法在VS2010中新建一個(gè)Windows 窗體應(yīng)用程序項(xiàng)目,在該項(xiàng)目中添加一個(gè)水晶報(bào)表CrystalReport1.rpt,然后在項(xiàng)目上點(diǎn)擊鼠標(biāo)右鍵屬性,將目標(biāo)框架改為.Net Framework 4 打開app.config文件,在startup節(jié)點(diǎn)一個(gè)useLegacyV2RuntimeActivationPolicy=true屬性 復(fù)制代碼 代碼如下
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- asp.net頁(yè)面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過程實(shí)現(xiàn)分頁(yè)示例代碼
- 模板無(wú)憂:在.NET開發(fā)中靈活使用TreeView控件
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- 如何在ASP.net(C#)下操作XML文件
- ASP.NET筆記之 控件與母板的區(qū)別分析
- 解讀VB.NET中有用的通用對(duì)象列表
- 解讀ASP.NET中使用AJAX中的方式
- 經(jīng)典教程:用.net動(dòng)態(tài)創(chuàng)建類的實(shí)例
- ASP.NET筆記之文章發(fā)布管理小系統(tǒng)案例
- 關(guān)于.NET的集合總結(jié)
- 模板無(wú)憂:asp.net后臺(tái)cs中的JSON格式變量在前臺(tái)Js中調(diào)用方法
- GridView列顯示時(shí)間貨幣格式字符串
- asp.net Repeater分頁(yè)實(shí)例(PageDataSource的使用)
- 相關(guān)鏈接:
復(fù)制本頁(yè)鏈接| 搜索Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- 教程說(shuō)明:
.Net教程-Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
。