实现方法:用到了高山来客 的bigfileupload组件,用高山来客的方法,弹出一个模式窗口,然后不停刷新获取进度,始终觉得体验感不好,于是想到用jquery来实现无刷新进度显示,因为提交页面后, 不能让其刷新页面,而是要不断地通过ajax获取progress.aspx返回的进度信息,所以用到了jquery.form的ajaxform提交。ajaxform提交后如果执行提交后的事件,比如在数据库里插入记录,还在调试中。

1、用到了jquery 的 progressbar 、form、MultFile及相关组件

2.uploadfile.js代码如下:$(function()

{

var info = '

';

info += '

正在上传:

';

info += '

上传速度:

';

info += '

状态:

';

info += '

预计剩余时间:

';

info += '

上传文件大小:

';

info += '

已上传大小:

';

info += '

info += '

';

$("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实现大文件上传及进度条显示,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对PHP中文网的支持!

更多Jquery和BigFileUpload实现大文件上传及进度条显示相关文章请关注PHP中文网!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

jquery PHP大文件上传,Jquery和BigFileUpload实现大文件上传及进度条显示相关推荐

  1. django文件——django + jquery-file-upload上传篇(二)-- 插件实现文件上传+进度条显示 +拖入文件上传...

    django + jquery-file-upload 插件实现文件上传+进度条显示 1.model.py class Fujian(models.Model):name = models.CharF ...

  2. 利用curl下载文件(进度条显示) 代码片段

    在项目中需要用到程序更新的功能,同事介绍说是curl中的开发库很不错,于是下载这个包测试了一下,确实不错.准备正式用到项目中,以下一个例子用于从互联网上抓取一个文件下载到本地,并加上进度条显示,做得挺 ...

  3. 大文件上传 进度条显示(仿CSDN资源上传效果) .

    浏览-选择文件-点击 "上传 "后,效果如下: 弹出透明UI遮罩层 并显示上传这个过程 我这里设置太透明了 效果不是很立体 文件结构如图: 说明:用到"高山来客" ...

  4. 大文件上传 进度条显示(仿CSDN资源上传效果)

    浏览-选择文件-点击 "上传 "后,效果如下: 弹出透明UI遮罩层 并显示上传这个过程 我这里设置太透明了 效果不是很立体 文件结构如图: 说明:用到"高山来客" ...

  5. python ftp上传/下载文件,带进度条显示

    文章目录 想法 最终效果 python代码 补充:下载带进度显示 想法 用python写个ftp上传文件的功能,想要实时看到上传进度,进度条ui部分,使用python的tkinter库实现. 最终效果 ...

  6. java ftp 上传文件 进度条_java FTP上传文件(进度条显示进度)

    java实现FTP上传有2种方式,一种是org.apache.commons.net.ftp.FTPClient这个jar包,一种是sun.net.ftp.FtpClient.不知道为什么,在使用前一 ...

  7. java上传文件限速_【面试题目】Java文件下载(限速、进度条)

    import javax.swing.*; import java.io.FileOutputStream; import java.io.IOException; import java.io.In ...

  8. 大数据量下水晶报表的实现及显示过程中的进度条显示讨论

    最近一段收到的反馈中,有几位是问到在应用程序中使用水晶报表时,大数据量情况下因为等待时间过长,给用户的感觉不好 所以想增加一个进度条,给用户一个比较直观的印象. 本文针对此问题而生,但是并没有一个像样 ...

  9. VB下载网上文件代码(有进度条显示)

    本栏文章均来自于互联网,版权归原作者和各发布网站所有,收集这些文章仅供学习参考之用.任何人都不能将这些文章用于商业或者其他目的. '添加 internet transfer control 6.0 和 ...

最新文章

  1. 成功解决Exception unhandled AttributeError 'MainWindow' object has no attribute 'setDaemon'
  2. mysql数据库备份 dump_MySQL数据库备份之mysqldump
  3. WebService之Java原生态支持(二)
  4. 如何提高.NET的性能 ?
  5. 计算机应用基础是文管二级吗,计算机应用基础(文管二级)习题册.doc
  6. Ubuntu各版本下载安装知网论文阅读神器CAJViewer,并添加快捷图标启动方式
  7. prewitt算子实现
  8. 通信感知一体化(ISAC)概述
  9. EMC与电阻、电容和电感的关系
  10. collapse组件样式 react_antd源码分析之——折叠面板(collapse)
  11. Android好看的动画欢迎界面(附有详细代码)
  12. 高维空间中点到超平面的距离
  13. s1 Linux 硬件基础
  14. 用python爬取今日头条上的图片_Python爬虫:抓取今日头条图集
  15. 第二十六篇 request模块使用
  16. tplink迷你路由器中继模式_TP-Link路由器无线中继/桥接设置教程
  17. Python编程PTA题解——查询水果价格
  18. java聚合函数_count()聚合函数正确用法
  19. hdu 5473 There was a kingdom(dp+几何)
  20. RT-Thread 嵌入式人工智能教学在线研讨会,就在本周六!

热门文章

  1. 2、从汇编语言到Windows内核编程笔记(2)
  2. 解决:Sublime Text3 packagecontrol.io 无法访问的问题
  3. Button中command后面函数添加参数解决方法
  4. 分布式实时日志分析解决方案ELK部署架构
  5. 适用于 macOS 下 2K 显示器开启 HiDPI 的简便解决方案
  6. 安装APK失败,错误代码:INSTALL_FAILED_INVALID_APK 解决方案
  7. ORACLE 存储过程异常捕获并抛出
  8. 【算法】模拟退火算法解决TSP问题的matlab实现
  9. 什么是错误的幻数错误?
  10. 使用pip安装特定的软件包版本