bootstrap fileinput组件的使用

组件的下载地址为:https://github.com/kartik-v/bootstrap-fileinput

比较详细的介绍可参看:http://www.jq22.com/jquery-info5231

下面说一下在使用此组件时候遇到的一些问题,和解决办法

问题1:在选择图片时,无法选择多个图片,且第一张图片选择后,在选择第二张图片时,第一张图片会被第二章图片覆盖,即无法多选图片。

解决办法:需要在input中加入multiple="multiple",且在初始化fileinput配置时,一定加入uploadUrl的设置

问题2:提交多张图片时只post了一张

解决办法:fileinput默认是异步上传的,即uploadAsync: true,你会发现如果你上传多张图片,请求就会发送多次,每次只提交一张图片,如果想一次提交所有图片,则需要将uploadAsync设置为false。

问题3:使用自带的上传按钮时,如何向后台传递额外的参数

解决办法:在fileinput配置中加入uploadExtraData配置,如下:

uploadExtraData:function (previewId, index) {
                    //向后台传递type,nameStr作为额外参数
                    var obj = {};
                    obj.type = "cardno";
                    obj.nameStr = "HL0093"
                    return obj;
                }

 

问题4:如何取消预览缩略图上面的查看、上传、删除三个小图片

解决办法:在fileinput配置中加入layoutTemplates配置,如下:

layoutTemplates :{
            actionDelete:'', //去除上传预览的缩略图中的删除图标
            actionUpload:'',//去除上传预览缩略图中的上传图片;
            actionZoom:''   //去除上传预览缩略图中的查看详情预览的缩略图标。
        },

 问题5:如何实现自动上传及上传成功或者失败的后的处理。

 解决办法:如下:

        }).on("filebatchselected", function(event, files) {
                $(this).fileinput("upload");
            }).on("filebatchuploadsuccess", function(event, data) {
                $("#check2").val(true)
            }).on('fileerror', function(event, data, msg) {  
                console.log('文件上传失败!'+msg);
            });

 

 

 

此处附上比较完整的实现代码

 

 <input class="form-control" type="file" id="cardFiles" multiple="multiple" name="file"/>    

 

<script type="text/javascript">  
       
               
       $(document).ready(function() {
           
            $("#cardFiles").fileinput({  
                  language: 'zh', //设置语言 
                  uploadUrl:'http://localhost/backoa/employee/upload',
                  enctype: 'multipart/form-data',
                  allowedFileExtensions : ['jpg', 'png','bmp','jpeg'],//接收的文件后缀
                  showUpload: false, //是否显示上传按钮
                  showPreview: true, //展前预览
                  showCaption: true,//是否显示标题
                  maxFileSize : 10000,//上传文件最大的尺寸
                  maxFileCount: 10,
                  dropZoneEnabled: false,//是否显示拖拽区域
                  browseClass: "btn btn-primary", //按钮样式
                  uploadAsync: false,
                  allowedPreviewTypes: ['image'],
                  layoutTemplates :{                  
                      actionUpload:'',//去除上传预览缩略图中的上传图片;                 
                  },
                  uploadExtraData:function (previewId, index) {
                    //向后台传递type,nameStr作为额外参数
                    var obj = {};
                    obj.type = "card";
                    obj.nameStr = "HL0093"
                    return obj;
                }
            }).on("filebatchselected", function(event, files) {
                $(this).fileinput("upload");
            }).on("filebatchuploadsuccess", function(event, data) {
                $("#check1").val("done");
            }).on('fileerror', function(event, data, msg) {  //一个文件上传失败
                console.log('文件上传失败!'+msg);
            });
  
       });

 

相关参考:https://blog.csdn.net/zlb_lover/article/details/76548772

 

https://blog.csdn.net/u012526194/article/details/69937741

 

转载于:https://www.cnblogs.com/conswin/p/8819505.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Bootstrap fileinput是一个基于Bootstrap框架的jQuery插件,用于实现文件上传功能。它具有以下特点: 1. 美观易用:Bootstrap fileinput易于集成到网站设计中,提供了用户友好的界面,可以简化用户上传文件的操作过程。 2. 多样化的展示模式:Bootstrap fileinput提供了多种展示模式,包括缩略图模式、网格模式等,可以根据需求选择最适合的模式来展示已上传的文件。 3. 支持多文件上传:Bootstrap fileinput支持同时上传多个文件,通过简单的配置即可实现一次性上传多个文件。 4. 图片预览功能:在上传图片的情况下,Bootstrap fileinput可以实现图片预览的功能,用户可以在上传前预览图片的效果,以便做出更好的选择。 5. 文件验证和限制:Bootstrap fileinput可以对文件进行验证和限制,例如文件大小的限制、文件类型的限制等,确保用户上传的文件符合规定的条件。 6. AJAX上传和回调支持:Bootstrap fileinput支持使用AJAX方式上传文件,并提供了相应的回调函数,可以在上传完成后执行相应的逻辑操作,如显示上传成功的提示信息、更新文件列表等。 综上所述,Bootstrap fileinput提供了一个方便、易用的文件上传功能,并且具备多样化的展示模式、图片预览、文件验证和限制等特点,可以满足用户在网站开发过程中对文件上传的需求。无论是开发响应式网站还是后台管理系统,Bootstrap fileinput都是一个值得考虑和使用的插件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值