详解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和AngularJS的不同点及AngularJS的迷人之处
Feb 02 Javascript
Javascript小技能总结(推荐)
Jun 02 Javascript
javascript之IE版本检测超简单方法
Aug 20 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
Sep 18 Javascript
jQuery实现优雅的弹窗效果(6)
Feb 08 Javascript
jQuery ajax调用webservice注意事项
Oct 08 jQuery
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
Mar 19 jQuery
vue中多个倒计时实现代码实例
Mar 27 Javascript
配置node服务器并且链接微信公众号接口配置步骤详解
Jun 21 Javascript
在LayUI图片上传中,解决由跨域问题引起的请求接口错误的方法
Sep 24 Javascript
Javascript执行流程细节原理解析
May 14 Javascript
Vue自定义render统一项目组弹框功能
Jun 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
一些使用频率比较高的php函数
2008/10/03 PHP
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
2011/11/07 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
2014/09/27 PHP
php获取、检查类名、函数名、方法名的函数方法
2015/06/25 PHP
WordPress开发中短代码的实现及相关函数使用技巧
2016/01/05 PHP
THINKPHP截取中文字符串函数实例代码
2017/03/20 PHP
PHP+Ajax实现的检测用户名功能简单示例
2019/02/12 PHP
(转载)JavaScript中匿名函数,函数直接量和闭包
2007/05/08 Javascript
js动态拼接正则表达式的两种方法
2014/03/04 Javascript
For循环中分号隔开的3部分的执行顺序探讨
2014/05/27 Javascript
jQuery制作简单柱状图实例
2015/01/28 Javascript
跟我学习javascript的var预解析与函数声明提升
2015/11/16 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
2016/09/13 Javascript
bootstrap实现动态进度条效果
2017/03/08 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
2017/04/21 jQuery
JS中去掉array中重复元素的方法
2017/05/26 Javascript
详解vuex的简单todolist例子
2019/07/14 Javascript
从零学Python之入门(四)运算
2014/05/27 Python
python Django批量导入不重复数据
2016/03/25 Python
Python最火、R极具潜力 2017机器学习调查报告
2017/12/11 Python
使用python 爬虫抓站的一些技巧总结
2018/01/10 Python
Python读取xlsx文件的实现方法
2019/07/04 Python
pygame实现贪吃蛇游戏(下)
2019/10/29 Python
基于python纯函数实现井字棋游戏
2020/05/27 Python
一文读懂python Scrapy爬虫框架
2021/02/24 Python
咖啡为什么会有酸味?你喝到的咖啡為什麼是酸的?
2021/03/17 冲泡冲煮
详解CSS3:overflow属性
2020/11/17 HTML / CSS
利用Storage Event实现页面间通信的示例代码
2018/07/26 HTML / CSS
外企测试工程师面试题
2015/02/01 面试题
大学生精神文明先进个人事迹材料
2014/05/02 职场文书
室内设计专业毕业生求职信
2014/05/02 职场文书
5s标语大全
2014/06/23 职场文书
民警群众路线教育实践活动对照检查材料
2014/10/04 职场文书
2014年全国法制宣传日宣传活动方案
2014/11/02 职场文书
2015年教师节新闻稿
2015/07/17 职场文书
如何在pycharm中快捷安装pip命令(如pygame)
2021/05/31 Python