jquery PHP大文件上传,Jquery和BigFileUpload实现大文件上传及进度条显示
实现方法:用到了高山来客 的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实现大文件上传及进度条显示相关推荐
- django文件——django + jquery-file-upload上传篇(二)-- 插件实现文件上传+进度条显示 +拖入文件上传...
django + jquery-file-upload 插件实现文件上传+进度条显示 1.model.py class Fujian(models.Model):name = models.CharF ...
- 利用curl下载文件(进度条显示) 代码片段
在项目中需要用到程序更新的功能,同事介绍说是curl中的开发库很不错,于是下载这个包测试了一下,确实不错.准备正式用到项目中,以下一个例子用于从互联网上抓取一个文件下载到本地,并加上进度条显示,做得挺 ...
- 大文件上传 进度条显示(仿CSDN资源上传效果) .
浏览-选择文件-点击 "上传 "后,效果如下: 弹出透明UI遮罩层 并显示上传这个过程 我这里设置太透明了 效果不是很立体 文件结构如图: 说明:用到"高山来客" ...
- 大文件上传 进度条显示(仿CSDN资源上传效果)
浏览-选择文件-点击 "上传 "后,效果如下: 弹出透明UI遮罩层 并显示上传这个过程 我这里设置太透明了 效果不是很立体 文件结构如图: 说明:用到"高山来客" ...
- python ftp上传/下载文件,带进度条显示
文章目录 想法 最终效果 python代码 补充:下载带进度显示 想法 用python写个ftp上传文件的功能,想要实时看到上传进度,进度条ui部分,使用python的tkinter库实现. 最终效果 ...
- java ftp 上传文件 进度条_java FTP上传文件(进度条显示进度)
java实现FTP上传有2种方式,一种是org.apache.commons.net.ftp.FTPClient这个jar包,一种是sun.net.ftp.FtpClient.不知道为什么,在使用前一 ...
- java上传文件限速_【面试题目】Java文件下载(限速、进度条)
import javax.swing.*; import java.io.FileOutputStream; import java.io.IOException; import java.io.In ...
- 大数据量下水晶报表的实现及显示过程中的进度条显示讨论
最近一段收到的反馈中,有几位是问到在应用程序中使用水晶报表时,大数据量情况下因为等待时间过长,给用户的感觉不好 所以想增加一个进度条,给用户一个比较直观的印象. 本文针对此问题而生,但是并没有一个像样 ...
- VB下载网上文件代码(有进度条显示)
本栏文章均来自于互联网,版权归原作者和各发布网站所有,收集这些文章仅供学习参考之用.任何人都不能将这些文章用于商业或者其他目的. '添加 internet transfer control 6.0 和 ...
最新文章
- 成功解决Exception unhandled AttributeError 'MainWindow' object has no attribute 'setDaemon'
- mysql数据库备份 dump_MySQL数据库备份之mysqldump
- WebService之Java原生态支持(二)
- 如何提高.NET的性能 ?
- 计算机应用基础是文管二级吗,计算机应用基础(文管二级)习题册.doc
- Ubuntu各版本下载安装知网论文阅读神器CAJViewer,并添加快捷图标启动方式
- prewitt算子实现
- 通信感知一体化(ISAC)概述
- EMC与电阻、电容和电感的关系
- collapse组件样式 react_antd源码分析之——折叠面板(collapse)
- Android好看的动画欢迎界面(附有详细代码)
- 高维空间中点到超平面的距离
- s1 Linux 硬件基础
- 用python爬取今日头条上的图片_Python爬虫:抓取今日头条图集
- 第二十六篇 request模块使用
- tplink迷你路由器中继模式_TP-Link路由器无线中继/桥接设置教程
- Python编程PTA题解——查询水果价格
- java聚合函数_count()聚合函数正确用法
- hdu 5473 There was a kingdom(dp+几何)
- RT-Thread 嵌入式人工智能教学在线研讨会,就在本周六!
热门文章
- 2、从汇编语言到Windows内核编程笔记(2)
- 解决:Sublime Text3 packagecontrol.io 无法访问的问题
- Button中command后面函数添加参数解决方法
- 分布式实时日志分析解决方案ELK部署架构
- 适用于 macOS 下 2K 显示器开启 HiDPI 的简便解决方案
- 安装APK失败,错误代码:INSTALL_FAILED_INVALID_APK 解决方案
- ORACLE 存储过程异常捕获并抛出
- 【算法】模拟退火算法解决TSP问题的matlab实现
- 什么是错误的幻数错误?
- 使用pip安装特定的软件包版本