layui upload附件上传

1.layui upload 动态生成js

// 附件上传
// elemId:上传button, elemFile:文件存放地址
function fileUpload(elemId,elemFile){
    var $ = layui.jquery, upload = layui.upload;
    var allFiles = '';  // 附件存放列表
    var uploadListIns =  upload.render({
        elem: elemId
        ,url: '/upload/'
        ,multiple: true
        ,accept: "file"
        ,choose: function(obj){
            allFiles = obj.pushFile(); console.log(allFiles)
            obj.preview(function(index, file, result){
                file = fileImg($, file);
                var str = '<a class="file" name="'+index+'" href="javascript:;"  title="'+ file.name +'">\
                                <img class="layui-icon" src="'+ file.icon +'"/>\
                                <p>'+ file.name +'</p>\
                                <img class="layui-a layui-del" src="../images/btn_delete.png"/>\
                            </a>';
                var fileHtml = $([str].join(''));
                // 删除
                fileHtml.find('.layui-del').on('click', function () {
                    delete allFiles[index]; console.log(allFiles)
                    fileHtml.remove();
                    uploadListIns.config.elem.next()[0].value = '';
                });
                $(elemId).before(fileHtml);
            });
        }
        ,allDone: function(obj){ //当文件全部被提交后,才触发
            if(obj.total > obj.successful){
                layer.msg("有文件上传失败,暂不更新生产进度,请重试或联系管理员");
            }else {
                layer.msg("更新生产进度");
            }
        }
        ,done: function(res, index, upload){  // 每个文件提交一次触发一次
            if(res.status == "success"){      // 上传成功
                return delete allFiles[index];   // 删除文件队列已经上传成功的文件
            }else{
                layer.msg(res.message);
            }
            this.error(index, upload);
        }
        ,error: function (index, upload) {
            // typeFile.find('[name="'+index+'"]').remove();
            // console.log(index+"附件上传失败,请重新上传");
        }
    });
}
// 处理结果 附件上传 动态生成html需每次生成页面时即调用
fileUpload('#resultUpload',$("#resultFile"));
// 满意度 附件上传 动态生成html需每次生成页面时即调用
fileUpload('#satisUpload',$("#satisFile"));

2.layui upload 第二次上传无效 静态页面

注意:静态页面需要在页面首次加载时就调用upload方法,与其他动态生成附件调用upload的方法不可一起

<div class="layui-files" id="typeFile">
    <!-- <a class="file" href="javascript:;">
        <img class="layui-icon" src="../images/files/icon_audio.png"/>
        <p title="附件名称">附件名称</p>
        <img class="layui-a layui-del" src="../images/btn_delete.png"/>
    </a> -->
    <button type="button" class="layui-btn layui_btn_upload" id="typeUpload"></button>
</div>


var form, caseedit = null;
layui.use(['jquery','layer','element','form','laydate','upload'], function(exports){
    var $ = layui.jquery,
        layer = layui.layer,
        element = layui.element,
        laydate = layui.laydate,
        upload = layui.upload;
    form = layui.form;
    caseedit = layui.caseedit;
    
    // 案件状态 附件上传 静态页面需首次加载即调用
    fileUpload('#typeUpload',$("#typeFile"));
    
});

效果图如下所示:

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值