使用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/