实现方法:用到了高山来客 的bigfileupload组件,用高山来客的方法,弹出一个模式窗口,然后不停刷新获取进度,始终觉得体验感不好,于是想到用jquery来实现无刷新进度显示,因为提交页面后, 不能让其刷新页面,而是要不断地通过ajax获取progress.aspx返回的进度信息,所以用到了jquery.form的ajaxform提交。ajaxform提交后如果执行提交后的事件,比如在数据库里插入记录,还在调试中。
1、用到了jquery 的 progressbar 、form、MultFile及相关组件
<script src="/UploadFiles/2021-04-02/jquery-1.2.6.pack.js">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实现大文件上传及进度条显示,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】