imageUpdate.js 2.77 KB
$(function () {
    //点击选择文件按钮选文件
    $(document).on("click", ".fileListName .fileName .operation", function (e) {
        var index = $(this).parent().index();
        flieList.splice(index, 1)
        sizeObj.splice(index, 1)
        if (flieList.length == 1) {
            $(this).parent().parent().parent('.fileSpan').find('.update').attr('src', '../../staticImages/update.png');
            $(this).parent().parent().parent('.fileSpan').find('.updatetext').text('点击文件上传')
        }
        $(this).parent().remove()
    })
})
var sizeObj = [];
var flieList = [];
function handleUpdate(e, $input) {
    if (flieList.length >= $("#" + $input).attr('numList')) {
        layer.msg('已经完成上传最大限度', { icon: 5 });
        return false
    } else {
        let file = [];
        file.push(e.files[0])
        analysisList(file, $input);
    }
}
//解析列表函数
function analysisList(obj, $input) {
    //如果没有文件
    if (obj.length < 1) {
        return false;
    }
    for (var i = 0; i < obj.length; i++) {
        var fileObj = obj[i];		//单个文件
        var name = fileObj.name;	//文件名
        var size = fileObj.size;	//文件大小
        //文件大于30M,就不上传
        if (size > 1024 * 1024 * 1024 || size == 0) {
            layer.msg('超过了30M,不能上传', { icon: 5 });
            return false;
        }
        //把文件大小放到一个数组中,然后再去比较,如果有比较上的,就认为重复了,不能上传
        if (sizeObj.indexOf(size) != -1) {
            layer.msg('已经选择,不能重复上传', { icon: 5 });
            return false;
        }
        //给json对象添加内容,得到选择的文件的数据
        var itemArr = [fileObj, name, size];	//文件,文件名,文件大小,文件类型
        flieList.push(itemArr);
        if (flieList.length == $("#" + $input).attr('numList')) {
            sizeObj = [];
            $("#" + $input).parent().find('.update').attr('src', '../../staticImages/Yes.png');
            $("#" + $input).parent().find('.updatetext').text('');
        }
        //把这个文件的大小放进数组中
        sizeObj.push(size);
    }
    createList($input);				//生成列表
    document.querySelector("#" + $input).value = null
};

//生成列表
function createList($input) {
    $("#" + $input).parent().find('.fileListName').empty()
    for (var i = 0; i < flieList.length; i++) {
        var fileData = flieList[i];
        var name = fileData[1]
        $("#" + $input).parent().find('.fileListName').append(
            '<li class="fileName">' +
            '<span title="' + name + '">' + name + '</span>' +
            '<img class="operation" src="../../staticImages/chacha.png">' +
            '</li>'
        );
    }
}