layui+七⽜云实现上传⽂件显⽰进度条
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>⽂件上传进度条</title>
<link rel="stylesheet" type="text/css" href="../../layui/css/layui.css" />
</head>
<body>
<div class="layui-upload">
<button type="button" class="layui-btn layui-btn-normal" id="fileList">选择多⽂件</button> <div class="layui-upload-list">
h5网页设计与制作<table class="layui-table">
<thead>
<tr><th>⽂件名</th>
<th>⼤⼩</th>
<th>上传进度</th>
h5页面代码编写<th>状态</th>
<th>操作</th>
</tr></thead>
<tbody id="demoList"></tbody>
</table>
</div>
<button type="button" class="layui-btn" id="fileListAction">开始上传</button>
</div>
<script type="text/javascript" src="../../layui/layui.js" ></script>
jquery下载文件进度条<script type="text/javascript">
<script type="text/javascript">
layui.use(['layer','upload',"element","jquery"], function(){
var upload = layui.upload,
element = layui.element;
element.init();
var $ = layui.jquery;
var getToken_url="gettoken"; //从后台获取七⽜云上传凭证token的url
var qiniuToken;
network();
function network(){
$.ajax({
type:"get",
url:getToken_url,
async:false,
cache:false,
dataType: "json",
crossDomain: true == !(document.all),易语言抢购脚本
success: function(res) {
console.log("返回数据=="+JSON.stringify(res));
if (de==0) {
qiniuToken=res.data;
}
},
error:function(res) {
layer.msg("联⽹失败,请检查⽹络");
}
});
}
var files;
var xhrOnProgress = function (fun) {
/
/使⽤闭包实现监听绑
return function () {
//通过$.ajaxSettings.xhr();获得XMLHttpRequest对象
var xhr = $.ajaxSettings.xhr();
//判断监听函数是否为函数
if (progress !== 'function')
return xhr;
//如果有监听函数并且xhr对象⽀持绑定时就把监听函数绑定上去
if (progress && xhr.upload) {
progress = progress;
}
return xhr;
}
};
//多⽂件列表⽰例
var demoListView = $('#demoList')
, uploadListIns = der({
java的思维逻辑是怎样的elem: '#fileList'
// , size: 102400 //限制⽂件⼤⼩,单位 KB
// , exts: 'zip|rar|7z|doc|docx|pdf|txt|xls|ppt|xlsx|pptx|img|jpg|png|gif|bmp|jpeg' //只允许上传压缩⽂件 , url: 'upload.qiniu'
, method: 'post'
, method: 'post'
, data: {token:qiniuToken}
, accept: 'file'
, multiple: true
, auto: false
, bindAction: '#fileListAction'
, xhr: xhrOnProgress
, progress: function (value) {//上传进度回调 value进度值
element.progress('demoList', value + '%')//设置页⾯进度条
}, xhr: function (index, e) {
var percent = e.loaded / e.total;//计算百分⽐
percent = Fixed(2));
element.progress('progress_' + index + '', percent * 100 + '%');
console.log("-----" + percent);
}
, choose: function (obj) {
var files = this.files = obj.pushFile(); //将每次选择的⽂件追加到⽂件队列
//读取本地⽂件
obj.preview(function (index, file, result) {
var tr = $(['<tr id="upload-' + index + '">'
, '<td>' + file.name + '</td>'
, '<td>' + (file.size / 1014).toFixed(1) + 'kb</td>'
, '<td><div class="layui-progress layui-progress-big" lay-filter="progress_'+index+'" lay-showPercent="true"><div class="layui-progress-bar" lay-percent="0%"></div></div></td>'
, '<td>等待上传</td>'
, '<td>'
, '<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>'
, '<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>'
, '</td>'
, '</tr>'].join(''));
//单个重传
tr.find('.demo-reload').on('click', function () {
obj.upload(index, file);
});
//删除
tr.find('.demo-delete').on('click', function () {
delete files[index]; //删除对应的⽂件
<()[0].value = ''; //清空 input file 值,以免删除后出现同名⽂件不可选 });
demoListView.append(tr);
});
}
,
done: function (res, index, upload) {
console.log(res);
if (de == 0) { //上传成功
var tr = demoListView.find('tr#upload-' + index)
, tds = tr.children();
tds.eq(3).html('<span >上传成功</span>');
tds.eq(4).html(''); //清空操作
var url = webroot + "/guarantee/itemFile/getItemFileByFlow?FLOW_ID=" + FLOW_ID +
var url = webroot + "/guarantee/itemFile/getItemFileByFlow?FLOW_ID=" + FLOW_ID + "&BUSINESS_ID=" + BUSINESS_ID + "&FLOW_NODE_ID=" + FLOW_NODE_ID + "&FILE_TYPE=" + FILE_TYPE //刷新表格
url: url
, where: {} //设定异步数据接⼝的额外参数
//,height: 300
});
return delete this.files[index]; //删除⽂件队列已经上传成功的⽂件
} else if (de == -1) {
layer.msg(res.msg);
}
<(index, upload);
}
,
error: function (index, upload) {
console.log(index);
// var tr = demoListView.find('tr#upload-' + index)
/
switch语句的流程结构有哪些/ , tds = tr.children();
// tds.eq(2).html('<span >上传失败</span>');
// tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显⽰重传
}
})
})
</script>
</body>
</html>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论