使用upload上传组件,在提交前用before进行一些必要的判断,当条件不符合时,即使使用 return false 也会继续上传。我翻阅了一下历史帖子,提到均需要修改upload组件。但实际不需要去修改,而是在判断条件不符合的时候,使用 return delete files[index] 将文件从队列中删掉就可以了。
,before: function (obj) {
var files = obj.pushFile();
$.each(files, function (index, file) {
var tr = fileUploadListView.find('tr#upload-'+ index)
,tds = tr.children()
,file_size = file['size']
,file_name = file['name'];
file_ext = file_name.toLowerCase(file_name.substr(file_name.lastIndexOf('.') + 1));
console.log(file_ext);
if (file_size > 524288000) {
tds.eq(2).html('<span style="color: #FF794E;">文件大小超过限制</span>');
return delete files[index]; // 新增:从队列中删除文件
}
tds.eq(2).html('<span style="color: #4BB2FF;">正在上传</span>');
})
return true;
}转自:https://fly.layui.com/vipclub/jie/layuiadmin/67828/
