成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? Jquery和BigFileUpload實現大文件上傳及進度條顯示
全站頭部文字 我要出現在這里
Jquery和BigFileUpload實現大文件上傳及進度條顯示 682 2024-02-26   

實現方法:用到了高山來客 的bigfileupload組件,用高山來客的方法,彈出一個模式窗口,然后不停刷新獲取進度,始終覺得體驗感不好,于是想到用jquery來實現無刷新進度顯示,因為提交頁面后, 不能讓其刷新頁面,而是要不斷地通過ajax獲取progress.aspx返回的進度信息,所以用到了jquery.form的ajaxform提交。ajaxform提交后如果執行提交后的事件,比如在數據庫里插入記錄,還在調試中。

1、用到了jquery 的 progressbar 、form、MultFile及相關組件

<script src="http://www.gimoo.net/common/js/jquery-1.2.6.pack.js" type="text/javascript"></script> 
<script src="http://www.gimoo.net/common/jqControl/packed/ui.core.packed.js" type="text/javascript"></script> 
<FORM--> 
<script src="http://www.gimoo.net/common/jqControl/ajax/jquery.form.js" type="text/javascript"></script> 
<上傳文件--> 
<script src="http://www.gimoo.net/common/jqControl/upLoad/jquery.MultiFile.pack.js" type="text/javascript"></script> 
<進度條--> 
<script src="http://www.gimoo.net/common/jqControl/packed/ui.progressbar.packed.js" type="text/javascript"></script> 
<對話框--> 
<我的JS --> 
<link  rel="stylesheet" type="text/css" /> 
<script src="http://www.gimoo.net/t/gadget/JS/uploadfile.js" type="text/javascript"> 

查看圖片

2.uploadfile.js代碼如下:

$(function() 
{ 
var info = '<div style="display:none" id="uploadinfo">'; 
info += '<p>正在上傳: <span id="uploadfilename"></span></p>'; 
info += '<p>上傳速度: <span id="uploadrate"></span> </p>'; 
info += '<p>狀態: <span id="uploadtitle"></span></p>'; 
info += '<p>預計剩余時間: <span id="uploadlefttime"></span></p>'; 
info += '<p>上傳文件大小: <span id="uploadtotal"></span></p>'; 
info += '<p>已上傳大小: <span id="uploadcurrent"></span></p>'; 
info += '<p><div id="uploadprogressbar"></div></p>'; 
info += '</div><div id="dialogsucc" > '; 
$("body").append(info); 
//進度條 
$("#uploadprogressbar").progressbar(); 
//上傳 
$('#fileupload').MultiFile(); 
$('#btshow').click(function() 
{ 
alert($("body").html()); 
}); 
//提交 
$('#btnsubmit').click(function() 
{ 
$("#uploadForm").ajaxSubmit( 
{ 
dataType: 'text', 
beforeSubmit: function(a,f,o) 
{ 
startProgress(); 
}, 
async:false, 
success: function(data) 
{ 
//$("#dialogsucc").text(data); 
//stopProgress(); 
if(data.succ==1) 
{ 
/* $("#dialogsucc").show(); 
$("#dialogsucc").dialog( 
{ 
modal: true, 
overlay: 
{ 
opacity: 0.5, 
background: "black" 
} 
}); */ 
} 
}, 
error:function(err) 
{ 
alert(err); 
} 
}); 
}); 
}); 
function getProgress(){ 
$.ajax({ 
type: "post", 
dataType:"json", 
url: "uploadProgress.aspx", 
data: "UploadID=" + $("#UploadID").val(), 
success: function(data){ 
$("#uploadprogressbar").progressbar("progress", data.percent); 
$("#uploadfilename").html(data.filename); 
$("#uploadrate").html(data.rate); 
$("#uploadtitle").html(data.info); 
$("#uploadlefttime").html(data.lefttime); 
$("#uploadtotal").html(data.total); 
$("#uploadcurrent").html(data.current); 
if(data.succ==-1){ 
alert(data.errmsg); 
} 
if (data.succ==0){ 
setTimeout("getProgress()", 1000); 
} 
if (data.succ==1){ 
return; 
} 
}, 
error:function(msg) 
{ 
alert(msg); 
} 
}); 
} 
function startProgress(){ 
$("#uploadinfo").show(); 
setTimeout("getProgress()", 500); 
} 
function stopProgress() 
{ 
$("#uploadinfo").hide(); 
} 

3:progress.aspx代碼如下:

protected void Page_Load(object sender, EventArgs e) 
{ 
try 
{ 
string s = "{"; 
UploadContext upload = UploadContextFactory.GetUploadContext(Request["UploadID"]); 
//初始化 
if (upload.Status == uploadStatus.Initializing) 
{ 
s += responeJSON(upload, "0", ""); 
} 
if (upload.Status == uploadStatus.Uploading) 
{ 
s += responeJSON(upload, "0", ""); 
} 
if (upload.Status == uploadStatus.Complete) 
{ 
s += responeJSON(upload, "1", ""); 
} 
if (upload.Status == uploadStatus.HasError) 
{ 
s += responeJSON(upload, "-1", ""); 
} 
s += "}"; 
Response.Write(s); 
} 
catch (Exception err) 
{ 
//throw err; 
Response.Write("{'info':'" + err.Message.Replace("'", "") + "','succ':-1}"); 
} 
} 
private string responeJSON(UploadContext upload, string succ,string errmsg) 
{ 
string s = ""; 
s += "'info':'" + upload.FormatStatus + "'" ; 
s += ",'percent':'" + Convert.ToInt32((upload.Readedlength * 100.0 / upload.TotalLength)).ToString() + "'"; 
s += ",'current':'" + (upload.Readedlength/1024).ToString() + "KB'"; 
s += ",'total':'" + (upload.TotalLength/1024).ToString() + "KB'"; 
s += ",'rate':'" + upload.FormatRatio + "'"; 
s += ",'filename':'" + upload.CurrentFile + "'"; 
s += ",'cancel_upload':" + 0 ; 
s += ",'lefttime':'" + upload.LeftTime + "'"; 
s += ",'succ':" + succ; 
s += ",'errmsg':'" + errmsg +"'"; 
return s; 
} 

4.ajaxForm執行后,能夠正常運行,那上傳文件后,我如何執行其它操作,研究完了再發

以上所述是小編給大家介紹的Jquery和BigFileUpload實現大文件上傳及進度條顯示,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對綠夏網網站的支持!



主站蜘蛛池模板: 时间空间和人第二部| 王子文个人资料| 芜湖新闻| 中国人免费观看| 日本大片ppt免费ppt电影| 亲密 电影| 红灯区无删减| 电视剧对峙| 刘永健| 欲海情缘| 捆绑vk视频| 库洛米头像| 夜半2点钟| 艾希曼| 欧美比基尼美女| 企鹅头像| 有本纱世| 不可知难而退的演讲稿| 吉川爱美番号| 中秋节的作文| 爆龙战队暴连者| 陈一龙是哪部电视剧| 我的亲爱| 色老女人| 大侠霍元甲演员表| 美女写真116| 彻夜狂欢| 国产精品久久久久精品三级ⅰ| 时尚购物| 杀破狼·贪狼 2017 古天乐| 牙齿扩弓的最佳年龄| 左左木明希| 加入民盟的好处和坏处| 滨美枝| 你的名字豆瓣| 身披彩衣的姑娘简谱| 金敏喜个人简历| 周秀娜与罗仲谦新婚吻戏合集| 爱的重生| 欧美13| 王茜华泳装照片高清|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103