校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > asp.net文件上傳帶進度條實現案例(多種風格)

asp.net文件上傳帶進度條實現案例(多種風格)

熱門標簽:海東防封電銷卡 聊城智能電銷機器人電話 南昌自動外呼系統線路 寧德防封版電銷卡 西寧電銷外呼系統公司 云南外呼系統代理 上海市三維地圖標注 辦公用地圖標注網點怎么操作 安陸市地圖標注app

先飽飽眼福:

在之前的文章中也有類似帶進度條文件傳送的案例,大家可以翻閱之前的文章對知識點進行擴充。

部分代碼:

%@ Page Language="C#" %> 
%@ Register Assembly="MattBerseth.WebControls.AJAX" Namespace="MattBerseth.WebControls.AJAX.Progress" TagPrefix="mb" %> 
 
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
html xmlns="http://www.w3.org/1999/xhtml"> 
head runat="server"> 
 title>Untitled Page/title> 
 link rel="Stylesheet" href="_assets/css/progress.css" mce_href="_assets/css/progress.css" /> 
 link rel="Stylesheet" href="_assets/css/upload.css" mce_href="_assets/css/upload.css" /> 
 mce:style type="text/css">!-- 
 BODY{ font-family:Arial, Sans-Serif; font-size:12px;} 
 
-->/mce:style>style type="text/css" mce_bogus="1"> BODY{ font-family:Arial, Sans-Serif; font-size:12px;} 
 /style> 
 mce:script type="text/C#" runat="server">!-- 
 
 protected void Page_Load(object sender, EventArgs args) 
 { 
 if (!this.IsPostBack) 
 { 
 this.Session["UploadInfo"] = new UploadInfo { IsReady = false }; 
 } 
 } 
 
 /// summary> 
 /// 
 /// /summary> 
 [System.Web.Services.WebMethod] 
 [System.Web.Script.Services.ScriptMethod] 
 public static object GetUploadStatus() 
 { 
 //獲取文件長度 
 UploadInfo info = HttpContext.Current.Session["UploadInfo"] as UploadInfo; 
 
 if (info != null  info.IsReady) 
 { 
 int soFar = info.UploadedLength; 
 int total = info.ContentLength; 
 
 int percentComplete = (int)Math.Ceiling((double)soFar / (double)total * 100); 
 string message = string.Format("上傳 {0} ... {1} of {2} 字節", info.FileName, soFar, total); 
 
 // 返回百分比 
 return new { percentComplete = percentComplete, message = message }; 
 } 
 
 // 還沒有準備好... 
 return null; 
 } 
 
 
// -->/mce:script> 
/head> 
body> 
 form id="form1" runat="server"> 
 asp:ScriptManager ID="scriptManager" runat="server" EnablePageMethods="true" /> 
 
 mce:script type="text/javascript">!-- 
 var intervalID = 0; 
 var progressBar; 
 var fileUpload; 
 var form; 
 // 進度條 
 function pageLoad(){ 
 $addHandler($get('upload'), 'click', onUploadClick); 
 progressBar = $find('progress'); 
 } 
 // 注冊表單 
 function register(form, fileUpload){ 
 this.form = form; 
 this.fileUpload = fileUpload; 
 } 
 //上傳驗證 
 function onUploadClick() { 
 var vaild = fileUpload.value.length > 0; 
 if(vaild){ 
 $get('upload').disabled = 'disabled'; 
 updateMessage('info', '初始化上傳...'); 
 //提交上傳 
 form.submit(); 
 // 隱藏frame 
 Sys.UI.DomElement.addCssClass($get('uploadFrame'), 'hidden'); 
 // 0開始顯示進度條 
 progressBar.set_percentage(0); 
 progressBar.show(); 
 // 上傳過程 
 intervalID = window.setInterval(function(){ 
 PageMethods.GetUploadStatus(function(result){ 
 if(result){ 
 // 更新進度條為新值 
 progressBar.set_percentage(result.percentComplete); 
 //更新信息 
 updateMessage('info', result.message); 
 
 if(result == 100){ 
 // 自動消失 
 window.clearInterval(intervalID); 
 } 
 } 
 }); 
 }, 500); 
 } 
 else{ 
 onComplete('error', '您必需選擇一個文件'); 
 } 
 } 
 
 function onComplete(type, msg){ 
 // 自動消失 
 window.clearInterval(intervalID); 
 // 顯示消息 
 updateMessage(type, msg); 
 // 隱藏進度條 
 progressBar.hide(); 
 progressBar.set_percentage(0); 
 // 重新啟用按鈕 
 $get('upload').disabled = ''; 
 // 顯示frame 
 Sys.UI.DomElement.removeCssClass($get('uploadFrame'), 'hidden'); 
 } 
 function updateMessage(type, value){ 
 var status = $get('status'); 
 status.innerHTML = value; 
 // 移除樣式 
 status.className = ''; 
 Sys.UI.DomElement.addCssClass(status, type); 
 } 
 
 
// -->/mce:script> 
 
 div> 
 div class="upload"> 
 h3>文件上傳/h3> 
 div> 
 iframe id="uploadFrame" frameborder="0" scrolling="no" src="Upload.aspx" mce_src="Upload.aspx">/iframe> 
 mb:ProgressControl ID="progress" runat="server" CssClass="lightblue" style="display:none" mce_style="display:none" Value="0" Mode="Manual" Speed=".4" Width="100%" /> 
 div> 
 div id="status" class="info">請選擇要上傳的文件/div> 
 div class="commands"> 
 input id="upload" type="button" value="上傳" /> 
 /div> 
 /div> 
 /div> 
 /div> 
 
 /div> 
 /form> 
/body> 
/html> 

 upload.aspx:

//限制大小 1M 
 protected void Page_Load2(object sender, EventArgs e) 
 { 
 if (this.IsPostBack) 
 { 
 UploadInfo uploadInfo = this.Session["UploadInfo"] as UploadInfo; 
 if (uploadInfo == null) 
 { 
 // 讓父頁面知道無法處理上傳 
 const string js = "window.parent.onComplete('error', '無法上傳文件。請刷新頁面,然后再試一次);"; 
 ScriptManager.RegisterStartupScript(this, typeof(upload_aspx), "progress", js, true); 
 } 
 else 
 { 
 // 讓服務端知道我們還沒有準備好.. 
 uploadInfo.IsReady = false; 
 
 // 上傳驗證 
 if (this.fileUpload.PostedFile != null  this.fileUpload.PostedFile.ContentLength > 0 
 
  this.fileUpload.PostedFile.ContentLength  1048576)// 限制1M 
 { 
 // 設置路徑 
 string path = this.Server.MapPath(@"Uploads"); 
 string fileName = Path.GetFileName(this.fileUpload.PostedFile.FileName); 
 
 // 上傳信息 
 uploadInfo.ContentLength = this.fileUpload.PostedFile.ContentLength; 
 uploadInfo.FileName = fileName; 
 uploadInfo.UploadedLength = 0; 
 
 //文件存在 初始化... 
 uploadInfo.IsReady = true; 
 
 //緩存 
 int bufferSize = 1; 
 byte[] buffer = new byte[bufferSize]; 
 
 // 保存字節 
 using (FileStream fs = new FileStream(Path.Combine(path, fileName), FileMode.Create)) 
 { 
 while (uploadInfo.UploadedLength  uploadInfo.ContentLength) 
 { 
 //從輸入流放進緩沖區 
 int bytes = this.fileUpload.PostedFile.InputStream.Read(buffer, 0, bufferSize); 
 // 字節寫入文件流 
 fs.Write(buffer, 0, bytes); 
 // 更新大小 
 uploadInfo.UploadedLength += bytes; 
 
 // 線程睡眠 上傳就更慢 這樣就可以看到進度條了 
 System.Threading.Thread.Sleep(100); 
 } 
 } 
 
 // 刪除. 
 File.Delete(Path.Combine(path, fileName)); 
 
 // 讓父頁面知道已經處理上傳完畢 
 const string js = "window.parent.onComplete('success', '{0} 已成功上傳');"; 
 ScriptManager.RegisterStartupScript(this, typeof(upload_aspx), "progress", string.Format(js, fileName), true); 
 } 
 else 
 { 
 if (this.fileUpload.PostedFile.ContentLength >= 1048576)//1M 
 { 
 const string js = "window.parent.onComplete('error', '超出上傳文件限制大小,請重新選擇');"; 
 ScriptManager.RegisterStartupScript(this, typeof(upload_aspx), "progress", js, true); 
 } 
 else 
 { 
 const string js = "window.parent.onComplete('error', '上傳文件出錯');"; 
 ScriptManager.RegisterStartupScript(this, typeof(upload_aspx), "progress", js, true); 
 } 
 } 
 uploadInfo.IsReady = false; 
 } 
 } 
 } 
 
 // 不限制大小 
 protected void Page_Load(object sender, EventArgs e) 
 { 
 if (this.IsPostBack) 
 { 
 UploadInfo uploadInfo = this.Session["UploadInfo"] as UploadInfo; 
 uploadInfo.IsReady = false; 
 if (this.fileUpload.PostedFile != null  this.fileUpload.PostedFile.ContentLength > 0) 
 { 
 string path = this.Server.MapPath(@"Uploads"); 
 string fileName = Path.GetFileName(this.fileUpload.PostedFile.FileName); 
 
 uploadInfo.ContentLength = this.fileUpload.PostedFile.ContentLength; 
 uploadInfo.FileName = fileName; 
 uploadInfo.UploadedLength = 0; 
 
 uploadInfo.IsReady = true; 
 
 int bufferSize = 1; 
 byte[] buffer = new byte[bufferSize]; 
 
 using (FileStream fs = new FileStream(Path.Combine(path, fileName), FileMode.Create)) 
 { 
 while (uploadInfo.UploadedLength  uploadInfo.ContentLength) 
 { 
 int bytes = this.fileUpload.PostedFile.InputStream.Read(buffer, 0, bufferSize); 
 fs.Write(buffer, 0, bytes); 
 uploadInfo.UploadedLength += bytes; 
 } 
 } 
 const string js = "window.parent.onComplete('success', '{0} 已成功上傳');"; 
 ScriptManager.RegisterStartupScript(this, typeof(upload_aspx), "progress", string.Format(js, fileName), true); 
 } 
 else 
 { 
 const string js = "window.parent.onComplete('error', '上傳文件出錯');"; 
 ScriptManager.RegisterStartupScript(this, typeof(upload_aspx), "progress", js, true); 
 } 
 uploadInfo.IsReady = false; 
 } 
 } 

 代碼就不貼完了,直接上干貨,親,這可是免郵的哦!下載地址

您可能感興趣的文章:
  • ASP.NET實現進度條效果
  • asp.net mvc 實現文件上傳帶進度條的思路與方法
  • asp.net單文件帶進度條上傳的解決方案
  • Asp.Net 無刷新文件上傳并顯示進度條的實現方法及思路
  • asp.net(c#)開發中的文件上傳組件uploadify的使用方法(帶進度條)
  • asp.net 在客戶端顯示服務器端任務處理進度條的探討
  • asp.net 生成靜態頁時的進度條顯示
  • Asp.net基于ajax和jquery-ui實現進度條

標簽:贛州 南寧 洛陽 衢州 平涼 青海 汕尾 崇左

巨人網絡通訊聲明:本文標題《asp.net文件上傳帶進度條實現案例(多種風格)》,本文關鍵詞  asp.net,文件,上傳,帶,進度,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《asp.net文件上傳帶進度條實現案例(多種風格)》相關的同類信息!
  • 本頁收集關于asp.net文件上傳帶進度條實現案例(多種風格)的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    成人av电影免费观看| 一区二区三区在线高清| 麻豆成人免费电影| 欧美一区二区三区啪啪| 奇米四色…亚洲| 欧美不卡视频一区| 国产精品影视在线| 日韩伦理免费电影| 欧美日韩亚洲不卡| 日本色综合中文字幕| 精品国产一区二区亚洲人成毛片| 久久 天天综合| 国产精品系列在线| 91国产免费观看| 日本视频在线一区| 国产日韩欧美a| 色综合中文字幕国产 | 99riav久久精品riav| 亚洲欧美日韩国产中文在线| 欧美三级日韩在线| 久久成人免费网站| 国产欧美一区二区精品忘忧草| www.亚洲在线| 婷婷久久综合九色综合绿巨人 | 欧美综合一区二区| 日本va欧美va精品发布| 欧美国产在线观看| 91国在线观看| 精品一区二区三区视频在线观看| 中文一区二区完整视频在线观看| 欧美色网站导航| 久久国产三级精品| 亚洲色图在线视频| 日韩视频免费直播| 不卡一二三区首页| 欧美a一区二区| 亚洲色图在线播放| 欧美成人性战久久| 一本大道久久a久久精二百| 麻豆久久久久久久| 亚洲精品久久嫩草网站秘色| 日韩精品中文字幕一区二区三区| 91猫先生在线| 国产精品自拍毛片| 午夜一区二区三区视频| 国产日韩精品一区二区浪潮av| 欧美亚洲一区二区在线| 国产成人亚洲综合a∨婷婷| 天天色 色综合| 亚洲欧美综合在线精品| 欧美不卡一区二区三区四区| 欧美日韩一区二区三区四区五区 | 亚洲一区二区三区四区五区中文 | 精彩视频一区二区| 亚洲777理论| 亚洲美女屁股眼交3| 久久久久久电影| 91精品国产一区二区人妖| 在线观看亚洲精品| 99视频精品在线| 高清beeg欧美| 狠狠色狠狠色合久久伊人| 午夜av电影一区| 亚洲国产精品一区二区久久| 亚洲欧洲在线观看av| 国产亲近乱来精品视频| 欧美成人三级电影在线| 欧美一区二区三区成人| 欧美日韩大陆在线| 欧美丝袜第三区| 91福利视频在线| 欧美性生活一区| 欧美亚州韩日在线看免费版国语版| www.亚洲在线| 99久久精品免费精品国产| 成人免费视频国产在线观看| 国产电影精品久久禁18| 国产真实乱偷精品视频免| 精品一区二区免费视频| 日本最新不卡在线| 视频在线观看一区| 日日夜夜一区二区| 日韩av一区二| 精品亚洲aⅴ乱码一区二区三区| 久久国产婷婷国产香蕉| 国产一区二区三区免费| 国产精品一区在线观看乱码| 国产一区二区日韩精品| 东方aⅴ免费观看久久av| 国产精品一区专区| 99在线热播精品免费| 94色蜜桃网一区二区三区| 日本精品视频一区二区三区| 精品视频在线免费观看| 欧美一区午夜视频在线观看| 欧美成人高清电影在线| 国产精品天干天干在观线| 亚洲日本一区二区三区| 亚洲午夜激情网站| 青青草国产精品97视觉盛宴 | 午夜精品福利一区二区三区蜜桃| 午夜av区久久| 国产精品亚洲专一区二区三区| 国产传媒久久文化传媒| 99久久伊人久久99| 欧美性欧美巨大黑白大战| 91麻豆精品国产91久久久久久久久| 日韩欧美三级在线| 国产亚洲一区字幕| 一区二区三区四区乱视频| 日日骚欧美日韩| 国产精品 欧美精品| 色综合久久久久久久| 91精品国产欧美日韩| 国产欧美日韩不卡免费| 最新成人av在线| 日韩电影在线观看一区| 国产成人午夜精品影院观看视频| 色噜噜狠狠色综合欧洲selulu| 3751色影院一区二区三区| 久久婷婷一区二区三区| 亚洲色欲色欲www| 久久99精品久久久久久国产越南| 99久久综合国产精品| 欧美一区二区性放荡片| 国产精品不卡视频| 奇米色一区二区| 91色在线porny| 日韩欧美一区电影| 亚洲男人的天堂网| 国产在线观看免费一区| 欧洲激情一区二区| 国产欧美日韩在线观看| 日韩高清电影一区| 91丨九色丨国产丨porny| 日韩欧美精品三级| 亚洲一区二区在线视频| 国产精品一区二区在线观看不卡| 欧美人妇做爰xxxⅹ性高电影| 国产精品久久免费看| 久久国产精品99久久久久久老狼| 色综合天天视频在线观看| 久久新电视剧免费观看| 亚洲二区在线观看| 波多野洁衣一区| 久久一二三国产| 裸体一区二区三区| 欧美午夜寂寞影院| 亚洲色图视频免费播放| 处破女av一区二区| 精品国产百合女同互慰| 午夜视频在线观看一区二区三区| 99精品欧美一区二区三区综合在线| 久久久久成人黄色影片| 久久精品国产在热久久| 欧美巨大另类极品videosbest| 亚洲欧美在线aaa| 亚洲欧美日韩久久精品| 蜜桃视频第一区免费观看| 色激情天天射综合网| 国产色产综合色产在线视频 | 91国产精品成人| 最新日韩在线视频| 国产99久久久国产精品潘金| 精品奇米国产一区二区三区| 婷婷六月综合亚洲| 欧美欧美欧美欧美| 午夜精品福利一区二区蜜股av | 欧美日韩免费在线视频| 亚洲综合在线视频| 一本色道亚洲精品aⅴ| 亚洲欧洲精品一区二区三区 | 91久久人澡人人添人人爽欧美| 国产欧美日韩亚州综合| 国产精品白丝jk白祙喷水网站| 精品成人私密视频| 国产一区二区视频在线播放| 欧美不卡一区二区三区四区| 激情六月婷婷综合| 国产网站一区二区| eeuss鲁一区二区三区| 国产精品国产三级国产aⅴ无密码| av福利精品导航| 一区二区三区四区精品在线视频 | 日韩精品中文字幕在线不卡尤物 | 亚洲日本韩国一区| 欧美日韩精品欧美日韩精品一综合| 亚洲韩国精品一区| 欧美一二三区精品| 国产精品亚洲а∨天堂免在线| 国产精品美女久久久久久| 色狠狠色噜噜噜综合网| 亚洲成人先锋电影| 久久久精品欧美丰满| 91欧美一区二区| 偷拍亚洲欧洲综合| 久久久久国产精品人| 色婷婷一区二区三区四区| 日韩国产高清在线| ww久久中文字幕|