fileinput异步多文件上传删除

最近使用了bootstrap-fileinput插件,插件本身写的还不错,就是文档有点看不懂,语言逻辑毕竟不是中国人写的,自己用了一段时间,整理一下

附官网文档地址:http://www.bootstrap-fileinput.com/options.html

需要引入的bootstrap样式以及js请自行查找,本处不在复述。

 <div class="form-group">
                <label class="col-sm-2 control-label">图片:</label>
                <div class="col-sm-4">
                    <input type="file" id="imageFiles" name="imageFiles"  accept="image/*" multiple>

                </div>
</div>
multiple 这是属性代表的是多文件上传,如果去掉,那么只能上传一个文件


/*js代码初始化*/
$("#imageFiles").fileinput({ /*以下三个属性是设置初始化动态加载,*/ initialPreviewAsData: true,//允许动态获取数据预览 initialPreview:[
                       'localhost/image1',
                       'localhost/image2',
                    ],//动态加载图片地址url,可以填写多个使用','隔开,我是通过c标签forEach循环的地址
                    initialPreviewConfig: [
                            {
                   type:'audio',//这个设置的是预加载的类型 可以是audio video text其他的类型,我没找到
                   filetype:'audio/mp3',//设置更加具体的预览类型
                   caption:'123',个初始化预览文件的标题或者文件名
url:
'/musicTheory/ajaxDeleteImage',//ajax删除这个文件第url extra: {id: '8456456'}//给url传入的参数以及名称 },//对应'localhost/image1'
                {
                                url: '/musicTheory/ajaxDeleteImage',
                                extra: {id: '${musicTheoryImage.id}'}
                            },//对应'localhost/image2'
 ],//该标签是动态加载的配置项,是以数组的形式,每个数组分别对应initialPreview中的图片(按照顺序)
                    uploadUrl:"/upload/musicTheoryUploadImage", //异步上传接受请求地址
                    uploadAsync : true, //默认异步上传
                    showCancel:false,//是否显示文件名
                    initialPreviewShowDelete:true,//显示图片上面的删除按钮
                    overwriteInitial:false,//动态加载图片之后,在重新上传新的图片的时候是否清除动态加载的图片默认是true 清除,false不清除
                    showUpload : false, //是否显示上传按钮,跟随文本框的那个
                    showRemove : false, //显示移除按钮,跟随文本框的那个
                    showCaption : true,//是否显示标题,就是那个文本框
                    showPreview : true, //是否显示预览,不写默认为true
                    dropZoneEnabled : true,//是否显示拖拽区域,默认不写为true,但是会占用很大区域
                    showUploadedThumbs:false,//上传完毕之后,清理预览框中的图片,默认false清理*/
                    maxFileSize: 0,//单位为kb,如果为0表示不限制文件大小
                    minFilesNum:1,//最小上传图片个数
                    maxFilesNum:10,//最大上传图片个数
                    //minFileCount: 0,
                    maxFileCount : 10, //表示允许同时上传的最大文件个数
                    //autoReplace : false,//是否自动替换当前图片,设置为true时,再次选择文件,会将当前的文件替换掉。
                    enctype : 'multipart/form-data',
                    validateInitialCount : true,//验证minFileCount和maxFileCount时是否包含初始预览文件计数(服务器上载的文件)。默认为false
                    browseOnZoneClick:true,

                    previewFileIconSettings: {
                         'docx': '<i class="fa fa-file-word-o text-primary" ></i>',
                         'xlsx': '<i class="fa fa-file-excel-o text-success"></i>',
                         'pptx': '<i class="fa fa-file-powerpoint-o text-danger"></i>',
                         'jpg': '<i class="fa fa-file-photo-o text-warning"></i>',
                         'pdf': '<i class="fa fa-file-pdf-o text-danger"></i>',
                         'zip': '<i class="fa fa-file-archive-o text-muted"></i>',
                         'doc': '<i class="fa fa-file-word-o text-primary"></i>',
                         'xls': '<i class="fa fa-file-excel-o text-success"></i>',
                         'ppt': '<i class="fa fa-file-powerpoint-o text-danger"></i>',
                         'pdf': '<i class="fa fa-file-pdf-o text-danger"></i>',
                         'zip': '<i class="fa fa-file-archive-o text-muted"></i>',
                         'htm': '<i class="fa fa-file-code-o text-info"></i>',
                         'txt': '<i class="fa fa-file-text-o text-info"></i>',
                         'mov': '<i class="fa fa-file-movie-o text-warning"></i>',
                         'mp3': '<i class="fa fa-file-audio-o text-warning"></i>',
                         'jpg': '<i class="fa fa-file-photo-o text-danger"></i>',
                         'gif': '<i class="fa fa-file-photo-o text-muted"></i>',
                         'png': '<i class="fa fa-file-photo-o text-primary"></i>'
                     },
                    previewFileIcon : "<i class='glyphicon glyphicon-king'></i>",

                    /* layoutTemplates:{
                             actionUpload:'',//去除缩略图中的上传图片
                             actionZoom:'',   //去除缩略图中的查看详情预览的缩略图标
                             actionDownload:'', //去览缩略图中的下载图标
                             actionDelete:'', //去除缩略图中的删除图标
                         },*/
                    msgFilesTooMany : "选择上传的文件数量({n}) 超过允许的最大数值{m}!",
                    allowedFileTypes : [ 'image' ],//配置允许文件上传的类型 audio video text object
                    allowedPreviewTypes : [ 'image' ],//配置所有的被预览文件类型
                    allowedPreviewMimeTypes : ["jpg", "jpeg", "gif", "png"],//控制被预览的所有mime类型
                    language : 'zh'
                });

                $("#imageFiles").on('fileuploaded', function(event, data, previewId, index) {//异步上传成功结果处理
                    var img= data;//接收后台传过来的json数据
                    var data=img.response;
                    if(data.code=="0000"){
                        $("#hiddenImageFiles").append("<input type='hidden' name='musicTheoryImageList["+i+"].url' value='"+data.data+"'>");
                        i++;
                    }
                });

                $('#imageFiles').on('filesuccessremove', function(event, id) {//这个是ajax上传成功之后,点击缩略图中的删除按钮触发的事件
                    console.log('Uploaded thumbnail successfully removed');
                    console.log('Event'+event);
                    console.log('Id'+id);
                });

                $('#imageFiles').on('filepreremove', function(event,id,index) {
                   console.log("id:"+id+"index:"+index+"event:"+event);
                });//ajax异步上传成功之前删除可以触发的事件,上传成功之后再按删除按钮,不管用的啊

                $('#imageFiles').on('fileclear', function(event) {//input框中清除按钮触发的事件
                   
                        $("[name='musicTheoryImageList"]).remove();
                    
                });

                $("#imageFiles").on('fileerror', function(event, data, msg) {//异步上传失败结果处理
                    alert("上传失败");
            });

 


 

posted @ 2020-05-07 11:10  幽灵中的野孩子  阅读(1504)  评论(0编辑  收藏  举报