1.修改layui文件上传ajax的代码:
这里使用的是layui的非模块化 (layui.js),模块化请修改modules/upload.js
xhr:function () {
var newXhr = i.ajaxSettings.xhr();
// 给xhr的upload添加progress的监听
newXhr.upload.addEventListener('progress' , function (e) {
var percent = Math.floor(e.loaded / e.total * 100); //计算出进度
typeof l.progress === 'function' && l.progress(e , percent); // 传递给upload的progress回调
});
return newXhr;
},
2.页面以及upload
文件上传进度条
选择文件
文件名称:
上传文件
var upload = layui.upload,
element = layui.element;
element.init();
upload.render({
elem: '#chooseFile', // 文件选择
accept:'file',
url: '/fileUpload',
auto: false, // 设置不自动提交
bindAction: '#uploadBtn', // 提交按钮
progress: function(e , percent) {
console.log("进度:" + percent + '%');
element.progress('progressBar',percent + '%');
},
choose: function(obj) {
obj.preview(function(index, file, result) {
$("#fileName").html(file.name);
});
},
done: function(res) {
layer.msg(res.msg);
},
error: function(res) {
layer.msg(res.msg);
}
});