详解bootstrap-fileinput文件上传控件的亲身实践


Posted in Javascript onMarch 21, 2019

经理让我帮服务器开发人员开发一个上传文件功能界面,我就想着以前使用过bootstrap-fileinput插件进行文件上传,很不错。赶紧就撸起来了。

1、下载压缩包。插件地址https://github.com/kartik-v/bootstrap-fileinput/ ,下载压缩包解压之后,拿出fileinput.min.js、fileinput.min.css、和中文需要引用的插件zh.js,因为这款插件默认的语言是英语。把这几个文件引入进页面

2、文件的引入顺序

  • 引入bootstrap.min.css
  • 引入fileinput.min.css
  • 引入jquery,版本最好2以上
  • 引入bootstrap.min.js
  • 引入fileinput.min.js
  • 引入中文插件zh.js

3、使用

<div class="upload-wrap">
   <input type="file" id="md5File" multiple="multiple" name="test" />
</div>

将其设置为multiple,可以多选文件进行上传。

js文件操作

$('#md5File').fileinput({
    language: 'zh',
    uploadUrl: 'http://localhost:8080/sign',
    showCaption: true,//是否显示被选文件的简介
    showUpload: true,//是否显示上传按钮
    showRemove: true,//是否显示删除按钮
    showClose: true,//是否显示关闭按钮
    enctype: 'multipart/form-data',
    uploadAsync:false, //false 同步上传,后台用数组接收,true 异步上传,每次上传一个file,会调用多次接口 
    layoutTemplates: {
      actionUpload: ''//就是让文件上传中的文件去除上传按钮
//      actionDelete: '',//去除删除按钮
    },
    browseClass: 'btn btn-primary',
    maxFileCount: 2,
    minFileCount : 2,
  }).on('filebatchuploadsuccess',function(res) {
    console.log(res);
  });

需求是让选择两个文件进行上传,而且只能发起一次请求,所以这里让maxFileCount和minFileCount都设置为2,uploadAsync设置为false,就是为了让两个文件同步上传,后台用数组一次接收。同步和异步上传成功结果处理的方法都是不同的

异步上传错误结果处理

$('#uploadfile').on('fileerror', function(event, data, msg) {

});

异步上传成功结果处理

$("#uploadfile").on("fileuploaded", function (event, data, previewId, index) {

})

同步上传错误结果处理

$('#uploadfile').on('filebatchuploaderror', function(event, data, msg) {

});

同步上传成功结果处理

$('#uploadfile').on('filebatchuploadsuccess', function(event, data, previewId, index) { 

});

其实本来不难,但是我对于同步上传成功结果处理的函数一直没有处理对,打断点也捕捉不到,我也很纳闷在做的时候,我在很多地方看到的是如下的处理方法:

详解bootstrap-fileinput文件上传控件的亲身实践

我就一直使用$('#uploadfile').on('filepreupload',function(e,data,previewId,index){})这个方法,后来才恍然大悟,把filepreupload改成了filebatchuploadsuccess,最终才实现了同步上传成功结果处理。也算是一个小坑,被人误导,自己也没有看清楚。

这里面还有一个参数:layoutTemplates,这个参数是对上传的那多个文件里面操作

详解bootstrap-fileinput文件上传控件的亲身实践

如上图的红色圈圈,可以对这几个icon进行设置

layoutTemplates: {
      actionUpload: ''//就是让文件上传中的文件去除上传按钮
//      actionDelete: '',//去除删除按钮
    },

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 拖动层(在可视区域范围内)
May 24 Javascript
js获得地址栏?问号后参数的方法
Aug 08 Javascript
JavaScript获取页面上被选中文字的方法技巧
Mar 13 Javascript
js兼容火狐获取图片宽和高的方法
May 21 Javascript
JS简单限制textarea内输入字符数量的方法
Oct 14 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
Dec 04 Javascript
javascript 中的事件委托详解
Oct 25 Javascript
Bootstrap3下拉菜单的实现
Feb 22 Javascript
获取当前按钮或者html的ID名称实例(推荐)
Jun 23 Javascript
详解Vue2.x-directive的学习笔记
Jul 17 Javascript
JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
Jul 31 Javascript
Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解
Dec 07 Javascript
详解基于React.js和Node.js的SSR实现方案
Mar 21 #Javascript
javascript中call()、apply()的区别
Mar 21 #Javascript
vue实现微信获取用户信息的方法
Mar 21 #Javascript
vue里如何主动销毁keep-alive缓存的组件
Mar 21 #Javascript
基于node简单实现RSA加解密的方法步骤
Mar 21 #Javascript
详解React项目如何修改打包地址(编译输出文件地址)
Mar 21 #Javascript
js实现unicode码字符串与utf8字节数据互转详解
Mar 21 #Javascript
You might like
table标签的结构与合并单元格的实现方法
2013/07/24 PHP
PHP批量生成静态HTML的简单原理和方法
2014/04/20 PHP
Yii中render和renderPartial的区别
2014/09/03 PHP
详细解读PHP的Yii框架中登陆功能的实现
2015/08/21 PHP
php格式化json函数示例代码
2016/05/12 PHP
表单(FORM)的一些实用效果代码
2007/03/25 Javascript
js使浏览器窗口最大化实现代码(适用于IE)
2013/08/07 Javascript
JQuery对id中含有特殊字符的转义处理示例
2013/09/06 Javascript
js中的for如何实现foreach中的遍历
2014/05/31 Javascript
javascript常见操作汇总
2014/09/03 Javascript
Seajs是什么及sea.js 由来,特点以及优势
2016/10/13 Javascript
Javascript 实现简单计算器实例代码
2016/10/23 Javascript
基于jQuery实现滚动刷新效果
2017/01/09 Javascript
nodejs入门教程二:创建一个简单应用示例
2017/04/24 NodeJs
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
详解swiper在vue中的应用(以3.0为例)
2018/09/20 Javascript
利用python发送和接收邮件
2016/09/27 Python
Python正则表达式常用函数总结
2017/06/24 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
2018/02/26 Python
基于Django URL传参 FORM表单传数据 get post的用法实例
2018/05/28 Python
Python初学者需要注意的事项小结(python2与python3)
2018/09/26 Python
python学生管理系统
2019/01/30 Python
简单了解python 邮件模块的使用方法
2019/07/24 Python
如何在 Django 模板中输出 &quot;{{&quot;
2020/01/24 Python
解决tensorflow 释放图,删除变量问题
2020/06/23 Python
荷兰照明、灯具和配件网上商店:dmlights
2019/08/25 全球购物
《小儿垂钓》教学反思
2014/02/23 职场文书
《搭石》教学反思
2014/04/07 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
保护环境建议书300字
2014/05/13 职场文书
优秀护士事迹材料
2014/12/25 职场文书
通知书大全
2015/04/27 职场文书
郭明义电影观后感
2015/06/08 职场文书
基于python的matplotlib制作双Y轴图
2021/04/20 Python
仅仅使用 HTML/CSS 实现各类进度条的方式汇总
2021/11/11 HTML / CSS
Mybatis-Plus进阶分页与乐观锁插件及通用枚举和多数据源详解
2022/03/21 Java/Android