zoukankan      html  css  js  c++  java
  • fileInput实战总结

    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:{
            "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: [
            {  "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();
    });
    
  • 相关阅读:
    Maximum Depth of Binary Tree
    Single Number
    Merge Two Sorted Lists
    Remove Nth Node From End of List
    Remove Element
    Remove Duplicates from Sorted List
    Add Two Numbers
    编译视频直播点播平台EasyDSS数据排序使用Go 语言 slice 类型排序的实现介绍
    RTMP协议视频直播点播平台EasyDSS在Linux系统中以服务启动报错can’t evaluate field RootPath in type*struct排查
    【解决方案】5G时代RTMP推流服务器/互联网直播点播平台EasyDSS实现360°全景摄像机VR直播
  • 原文地址:https://www.cnblogs.com/blackgan/p/6800643.html
Copyright © 2011-2022 走看看