fileinput组件实战总结

fileinput是一个增强的基于Bootstrap3.x和HTML5的文件上传工具,具备多种格式文件的预览功能,

另外,它包含了基于AJAX的上传,拖拽和撤销文件,可以显示上传文件的进度,并且可以任意去预览,

添加,删除文件。

在本系统使用的功能

机构或银行图标的预览功能

使用fileinput

如果要使用fileinput组件,需要引入相应的css和js文件

  • 引入css文件

    <link rel="stylesheet" href="/genius/static/plugins/fileInput/fileinput.css">
  • 引入js文件

    <script src="/genius/static/plugins/fileInput/fileinput.js"></script>
    <script src="/genius/static/plugins/fileInput/zh.js"></script>//汉化文件
  • html初始化

将input输入框的type设置为file,同时设定一个id。

<div class="col-sm-8">
<input type="file" id="input-2" class="form-control" placeholder="" name="license">
</div>
  • js初始化简介

  • $('#input-2').fileinput({
    fileinputLocales: 'zh', //设置语言
    allowedFileExtensions : ['jpg', 'png','gif','jpeg'],//接收的文件后缀
    showUpload: false, //是否显示上传按钮
    removeLabel: '移除',
    showCaption: false, //是否显示标题
    showRemove:false, //是否显示移除按钮
    showClose:false, //是否显示关闭按钮
    showPreview:true, //是否显示预览功能
    maxFileSize: 4096, //设置最大的上传字节
    browseClass: "btn btn-primary", //按钮样式
    enctype: 'multipart/form-data',
    previewFileIcon: "<i class='glyphicon glyphicon-king'></i>",
    fileSingle: '文件',
    filePlural: '个文件',
    browseLabel: '选择 &hellip;',
    removeLabel: '移除',
    removeTitle: '清除选中文件',
    overwriteInitial: true,
    autoReplace :true,
    initialPreview: [
    'http://'+dataImgUrl+'?r='+Math.random(),
    ],
    previewSettings:{
    width:"100%",
    },
    initialPreviewAsData: true, // identify if you are sending preview data only and not the raw markup
    initialPreviewFileType: 'image', // image is the default and can be overridden in config below
    initialPreviewConfig: [
    { width: "100%",},
    ], });
     

    使用过程中所遇到的问题

  • form表单的编码类型

    因为使用了input[type=file],一定要注意form表单要声明编码类型为enctype="multipart/form-data"。

  • 当input的class中有file时会导致初始化错误

    如果将使用了fileinput初始化的input输入框的class设置为file的话,fileinput对于该输入框的设置无效。

  • 当在页面中打开多个fileinput初始化后的input时,存在fileinput输入框的缓存问题。在项目机构管理处应用时,

    在机构列表中点击每一个机构都可以查看此机构的详情-当然包括营业执照和签署协议的详情。当我们点击了机构1的详情,

    fileinput初始化了模态框中的图片预览。当我们关闭机构1的详情,再去打开机构2的详情框时,显示的预览图片还是

    机构1的,这时对于input的二次初始化就不起作用了。这时的解决方法是手动操作dom,手动设置image的src属性。

    代码如下:

    $('.file-preview-image').each(function (){
    this.src= 'http://'+dataImgUrl+'?t='+new Date().getTime();
    });
     

fileinput 的总结的更多相关文章

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

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

  2. 【Bootstrap-插件使用】Jcrop+fileinput组合实现头像上传功能

    作者:Dreawer链接:https://zhuanlan.zhihu.com/p/24465742来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作者:梦游的龙猫(转 ...

  3. yii2组件之多图上传插件FileInput的详细使用

    作者:白狼 出处:http://www.manks.top/yii2_multiply_images.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连 ...

  4. [Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能

    很久没有更新博客了,再不写点东西都烂了. 这次更新一个小内容,是两个插件的组合使用,实现头像上传功能. 业务需求: 头像上传功能,要对上传的文件进行剪切,且保证头像到服务器时必须是正方形的. 优化&l ...

  5. Python统计脚本行数(fileinput)

    __author__ = 'metasequoia' # -*- coding: utf-8 -*- import fileinput def Count(): count_num = 0 for l ...

  6. fileinput

    # -*- coding: utf-8 -*- __author__ = 'metasequoia' import fileinput def file_input(): for line in fi ...

  7. fileinput模块

    刚才练习的时候,报如下错误: AttributeError: module 'fileinput' has no attribute 'input',后来Google参考这篇文章https://mai ...

  8. safari 调用隐藏fileInput

    在safari上,用自定义按钮调用隐藏fileInput,注意点 1. event listener中,不要 return false2. 不要使用display:none,可使用 opacity:0 ...

  9. Pyhton 学习总结 21 :fileinput模块

    fileinput模块可以对一个或多个文件中的内容进行迭代.遍历等操作.该模块的input()函数有点类似文件readlines()方法,区别在于前者是一个迭代对象,需要用for循环迭代,后者是一次性 ...

  10. bootstrap fileinput 文件上传工具

    这是我上传的第二个plugin 首先第一点就是因为这个好看 符合bootstrap的界面风格 第二是可以拖拽(虽然我不常用这个功能 但是这样界面看起来就丰满了很多) 最后不得不吐槽这个的回发事件 我百 ...

随机推荐

  1. 别再用 System.currentTimeMillis 统计耗时了,太 Low,试试 Spring Boot 源码在用的 StopWatch吧,够优雅!

    大家好,我是二哥呀! 昨天,一位球友问我能不能给他解释一下 @SpringBootApplication 注解是什么意思,还有 Spring Boot 的运行原理,于是我就带着他扒拉了一下这个注解的源 ...

  2. The Art of Code

    目录 1. Polyglot 2. Palin 3. Others 1. Polyglot 2. Palin 3. Others

  3. Java版的防抖(debounce)和节流(throttle)

    概念 防抖(debounce) 当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,如果设定时间到来之前,又触发了事件,就重新开始延时. 防抖,即如果短时间内大量触发同一事件,都会 ...

  4. 8. 利用Ansible快速构建MGR | 深入浅出MGR

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 安装ansbile 2. 配置ansible 3. 建立ssh信任 4. 测试ansible 5. 使用ans ...

  5. 基于 DolphinScheduler 的数据质量检查实践

    今天给大家带来的分享是基于 Apache DolphinScheduler 的数据质量检查实践,分享的内容主要为以下四点: " 为什么要做数据质量检查? 为什么要基于 DolphinSche ...

  6. LuoguP1456 Monkey King (左偏树)

    struct LeftTree{ int l,r,val,dis; }t[N]; int fa[N]; inline int Find(int x){ return x == fa[x] ? x : ...

  7. 应用集成-在Hexo、Hugo博客框架中使用Gitalk基于Github上仓库项目的issue无后端服务评论系统实践

    关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 本章目录 目录 0x00 Gi ...

  8. Swift中的Result 类型的简单介绍

    Swift 5引入了一个新的Result类型, 它使用枚举来处理异步函数的结果. 苹果文档对该类型的描述: A value that represents either a success or a ...

  9. 金九银十,收下这份 Java String 面试题

    请点赞关注,你的支持对我意义重大. Hi,我是小彭.本文已收录到 GitHub · Android-NoteBook 中.这里有 Android 进阶成长知识体系,有志同道合的朋友,关注公众号 [彭旭 ...

  10. Unity2D-Dash && SpeedUp

    ​ Introduction 原理: 角色位置改变时,每隔一段时间记录角色的位置,然后在记录的位置上放置一个图片,在图片出现之后过一段时间就让图片渐渐消失 简述实现步骤: 1.在Unity中Creat ...