组件的下载地址为: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

bootstrap fileinput组件的使用的更多相关文章

  1. Bootstrap fileinput.js,最好用的文件上传组件

    本篇介绍如何使用bootstrap fileinput.js(最好用的文件上传组件)来进行图片的展示,上传,包括springMVC后端文件保存. 一.demo   二.插件引入 <link ty ...

  2. bootstrap fileinput 使用记录

    第一次使用bootstrap fileinput碰到了许多坑,做下记录 需求 本次使用bootstrap fileinput文件上传组件,主要用来上传和预览图片.作为一个后台管理功能,为某个表的某个字 ...

  3. JS组件系列——Bootstrap文件上传组件:bootstrap fileinput

    前言:之前的三篇介绍了下bootstrap table的一些常见用法,发现博主对这种扁平化的风格有点着迷了.前两天做一个excel导入的功能,前端使用原始的input type='file'这种标签, ...

  4. BootStrap fileinput.js文件上传组件实例代码

    1.首先我们下载好fileinput插件引入插件 ? 1 2 3 <span style="font-size:14px;"><link type="t ...

  5. Bootstrap文件上传组件:bootstrap fileinput

    为了上传预览pdf与图片特用此插件. 源码以及API地址: bootstrap-fileinput源码:https://github.com/kartik-v/bootstrap-fileinput ...

  6. 结合bootstrap fileinput插件和Bootstrap-table表格插件,实现文件上传、预览、提交的导入Excel数据操作流程

    1.bootstrap-fileinpu的简单介绍 在前面的随笔,我介绍了Bootstrap-table表格插件的具体项目应用过程,本篇随笔介绍另外一个Bootstrap FieInput插件的使用, ...

  7. JS文件上传神器bootstrap fileinput详解

    Bootstrap FileInput插件功能如此强大,完全没有理由不去使用,但是国内很少能找到本插件完整的使用方法,于是本人去其官网翻译了一下英文说明文档放在这里供英文不好的同学勉强查阅.另外附上一 ...

  8. 文件上传(bootstrap fileinput)

    在做Excel文件上传和下载时,原生文件输入框太不美观,从网上找的bootstrap fileinput还是挺漂亮的, 需要引用的文件 //4.fileUpload bundles.Add(new S ...

  9. JS组件系列——两种bootstrap multiselect组件大比拼

    前言:今天继续来看看bootstrap的另一个组件:multiselect.记得在项目开始之前,博主项目组几个同事就使用哪些js组件展开过讨论,其中就说到了select组件,由于项目的整体风格使用的b ...

随机推荐

  1. 18 Issues in Current Deep Reinforcement Learning from ZhiHu

    深度强化学习的18个关键问题 from: https://zhuanlan.zhihu.com/p/32153603 85 人赞了该文章 深度强化学习的问题在哪里?未来怎么走?哪些方面可以突破? 这两 ...

  2. Luncene学习 第一天 《入门程序》

    整个luncene 流程 下面贴出代码 package com.zuoyan.lucene.demo; import java.io.File; import org.apache.commons.i ...

  3. 设置电脑中的某个程序不弹出UAC用户控制提示的方法

    有用户发现在电脑开机后总是会弹出UAC用户账户控制窗口,这是因为电脑中的某个程序设置了开机启动,这样就会在开机后启动该程序时出现UAC提示.如果想要省略该提示,可以在电脑中设置该程序不弹出UAC用户控 ...

  4. memset()函数用法及其作用

    memset()函数原型是: extern void *memset(void *buffer, int c, int count) //buffer:为指针或是数组, //c:是赋给buffer的值 ...

  5. 用python读写excel的强大工具:openpyxl

    最近看到好几次群里有人问xlwt.wlrd的问题,怎么说呢,如果是office2007刚出来,大家用xlsx文件用不习惯,还可以理解,这都10年过去了喂,就算没有进化到office2016,还在用of ...

  6. idea输出目录详解

    引言:在项目中遇到了一个问题,在使用idea时,项目中Tomcat的虚拟目录映射总是失败,而当我采用myeclipse时却能映射过去. 自己花费了很长时间,终于找出了问题所在,原来是由于idea自己采 ...

  7. 《剑指offer》第五十题(字符串中第一个只出现一次的字符)

    // 面试题50(一):字符串中第一个只出现一次的字符 // 题目:在字符串中找出第一个只出现一次的字符.如输入"abaccdeff",则输出 // 'b'. #include & ...

  8. 基于Arcface 免费离线人脸识别 2.0 Demo C#

    本来打算做个C#版demo,但没用成功.使用虹软最新人脸识别技术开发完成 过程如下: 1. 传入一张单人脸照片: 2.调用检测人脸函数ASFDetectFaces,成功返回人脸信息的指针: 3.使用 ...

  9. MYSQL的常用函数(字符串函数)

    ASCII(char)返回字符的ASCII码值 BIT_LENGTH(str)返回字符串的比特长度 CONCAT(s1,s2...,sn)将s1,s2...,sn连接成字符串 CONCAT_WS(se ...

  10. TypeError: atlas.getSpriteFrame is not a function

    1.资源结构如下: 2.在使用cc.loader.loadRes动态异步加载cc.SpriteAtlas资源时出现这个错误,代码如下: var self = this; var url = " ...