国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Jquery和BigFileUpload實現大文件上傳及進度條顯示

2019-11-20 09:35:39
字體:
來源:轉載
供稿:網友

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

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

<script src="../../common/js/jquery-1.2.6.pack.js" type="text/javascript"></script> <script src="../../common/jqControl/packed/ui.core.packed.js" type="text/javascript"></script> <!--FORM--> <script src="../../common/jqControl/ajax/jquery.form.js" type="text/javascript"></script> <!--上傳文件--> <script src="../../common/jqControl/upLoad/jquery.MultiFile.pack.js" type="text/javascript"></script> <!--進度條--> <script src="../../common/jqControl/packed/ui.progressbar.packed.js" type="text/javascript"></script> <!--對話框--> <!--我的JS --> <link href="../../common/Css/jquery-ui-themeroller.css" rel="stylesheet" type="text/css" /> <script src="../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實現大文件上傳及進度條顯示,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湘阴县| 房山区| 江陵县| 独山县| 竹山县| 辉县市| 旅游| 精河县| 巴塘县| 南京市| 墨玉县| 齐河县| 瓦房店市| 邵阳市| 珠海市| 镇原县| 青铜峡市| 喀喇| 醴陵市| 瑞金市| 河北省| 平顶山市| 肇源县| 神农架林区| 呼伦贝尔市| 乌审旗| 莱阳市| 留坝县| 广河县| 景宁| 延长县| 日照市| 钦州市| 江川县| 清镇市| 集贤县| 团风县| 嘉义市| 柏乡县| 台北县| 长垣县|