当前位置: 首页 > 工具软件 > Snowy-Layui > 使用案例 >

layui实现单文件上传

萧宁
2023-12-01

layui单文件上传是真的恶心,你说用你的都是搞后端的,你功能提供的不全,还得让我一个一个去找,找到最后发现还没有这个功能!还得自己去实现!TMD!(本章主要解决单文件上传的一些恶心bug)

以下问题为非自动上传的一些问题

问题描述:第一次选好文件,再此点击上传文件,提交,后台台接收到多文件的问题。

问题原因:由于当你每点击一次确定时候,它都会在文件的队列里面添加上文件,不在乎你提交不提交。

解题思路:在点击确定文件时候加一个判断,判断队列的大小是否大于1,如果大于1就清除掉除最后一个文件的所有文件。

实现代码:如下图

function delAllFiles(allFiles){
	var lastindex=0;//最后一次的id(就是layui中的index)
		var fileSize=0;//文件队列数量
		//遍历,获取最后一个文件的下标index
		for (var x in allFiles) {
			lastindex=x;//保存最后一次index
			fileSize++;//由于没找到layui中文件队列的大小,所以自己定义了一个
		}
		//当文件队列大于1时
		if(fileSize>1){
			//删除其他文件,保留最后一个文件
			for (var x in allFiles) {
				if(x!=lastindex){
					delete allFiles[x];
				}
			}
		}
	}

下图是choose中的代码

var allFiles = obj.pushFile();//获取文件队列.就是这玩意,万恶之源。
delAllFiles(allFiles);//调用方法,删除多余文件

至此问题解决,不过我在实现单文件上传过程中还遇到挺多问题的,欢迎大家一起讨论。

 类似资料: