layui根据上传的文件类型进行传递参数

本文共有2568个字,关键词:

问题:layui如何获取上传的文件类型,然后修改传递的数据data?

方法:

function initUpload(self,e){
    var upload = self.upload
    var element = self.element
    var elem = '#upload-wrapper-'+e
    var module_params = '';
    btn_num = btn_num + 1;
    var btn_id = 'sub_btn_' + btn_num;
    $('#btn_box').append('<span id="'+ btn_id +'"></span>')
    var uploadInst = upload.render({
        elem: elem
        ,url: '/ngxupld'
        ,accept: 'file' //允许上传的文件类型
        ,exts:'doc|docx|ppt|pptx|xls|xlsx|wps|pdf|jpg|jpeg|png|gif'//后缀名限制
        ,auto:false
        ,bindAction:'#'+btn_id
        ,data:{'module_name': 'sgx_prepare', 'module_params': module_params}
        ,field:'fileupload'
        ,multiple:false
        ,drag:true
        ,size: 51200 //最大允许上传的文件大小50MB
        ,xhr:xhrOnProgress //上传进度展示
        ,progress:function(value){//上传进度回调 value进度值
            element.progress('upload-progress-'+this.elem[0].id.split('-')[2], value+'%')
        }
        ,choose: function(obj){
            console.log('upload111');
            obj.preview((index, file, result) => {
                return new Promise((resolve,reject)=>{
                    var ext = file.name.split('.')[1];
                    var ext_array = ['doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'wps'];
                    if(ext_array.indexOf(ext) > -1 ){
                        this.data.module_params = JSON.stringify({'conv': 1, 'callback': '/bk/api/callback/pdf'})
                    }
                    resolve();
                }).then(res=>{
                    $('#'+btn_id).click();
                })
            })
        }
        ,before: function(obj){ //obj参数包含的信息,跟 choose回调完全一致,可参见上文。
            $('.upload-progress').show()
            layer.load(2); //上传loading\
        }
        ,done: function(res, index, upload){
            var item = this.elem;//获取当前触发上传的元素
            layer.closeAll('loading'); //关闭loading
            saveFile(res,item[0].id.split('-')[2],diyTarget,false)
            $('.upload-progress').hide()
            element.progress('upload-progress-'+e, '0%');
        }
        ,error: function(index, upload){
            element.progress('upload-progress-'+e, '0%');
            layer.closeAll('loading'); //关闭loading
        }
    })
}
版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。
添加新评论
暂无评论