关于upload上传问题,发现应该是框架的隐藏Bug问题

提问 未结 7 240
画船听雨眠
悬赏:20飞吻
版本:layui 浏览器:
首先贴代码:
//多文件上传
var demoListView = $('#demoList')
var demoCount=0;
var demoFlag=false;
uploadListIns = upload.render({
elem: '#testList'
,url: '${pageContext.request.contextPath }/resourse/uploadData?id='+idInfo
,accept: 'file'
,multiple: true
,size: 10240
//,exts: 'zip|rar|7z|jpg|png|jpeg'
,auto: false
,xhr:xhrOnProgress
,progress:function(value){//上传进度回调 value进度值
if(demoFlag){
document.getElementById("abc${demoCount}").innerHTML=value+"%";
document.getElementById("divcss${demoCount}").style.width=value+"%";
}
}
,bindAction: '#testListAction'
,choose: function(obj){
var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
//读取本地文件
obj.preview(function(index, file, result){
var tr = $(['<tr style="text-align: center;" id="upload-'+ index +'">'
,'<td>'+ file.name +'</td>'
,'<td>'+ (file.size/1024).toFixed(1) +'kb</td>'
,'<td><div id="fade" class="black_overlay"></div><div class="Bars"><div style="width:0%" id="divcss${demoCount}"><span id="abc${demoCount}">0%</span></div></div></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]; //删除对应的文件
tr.remove();
uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
});

demoListView.append(tr);
demoFlag=true;
});
}
,done: function(res, index, upload){
if(res.code == 0){ //上传成功
var tr = demoListView.find('tr#upload-'+ index)
,tds = tr.children();
tds.eq(2).html('<span style="color: #5FB878;">上传成功</span>');
tds.eq(3).html('<span style="color: #5FB878;">无</span>'); //清空操作
return delete this.files[index]; //删除文件队列已经上传成功的文件
}else{
var tr = demoListView.find('tr#upload-'+ index)
,tds = tr.children();
tds.eq(2).html('<span style="color: #FF5722;">上传失败:'+res.msg+'</span>');
//tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传
}
this.error(index, upload);
}
,error: function(res,index, upload){
var tr = demoListView.find('tr#upload-'+ index)
,tds = tr.children();
tds.eq(2).html('<span style="color: #FF5722;">上传失败</span>');
//tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传
}
});

下面是发现的问题:
我设置的文件大小是10M
第一步:我选择上传一个小于10M的文件,上传正常并成功添加到列表中,等待最终点击上传资源按钮进行上传后台。

第二步:我选择上传一个大于10M的文件,提示上传文件不能超过10M,并且没有添加到列表中,这是正常的。

第三步:执行完上面2步,当我直接点击上传资源按钮的时候却提示我"上传文件不能超过10M",这就导致我无法将资源上传后台,
除非我在单独选择文件上传一个小于10M的,在点击上传资源才能正常工作

回帖