bootstrap file input 多图片上传编辑THINKPHP5

{layout name="layout" title="文章添加" /}
 <form  id="defaultForm" role="form" method="POST"  action="{:url('/admin/article/add/')}">
   <div class="form-group">
    <label for="exampleInputUsername">文章标题:</label>
    <input type="text" class="form-control" value="{present name="data.title"}{$data.title}{/present} " name="title" id="title" placeholder="请输入链接名称">
  </div>
  <div class="form-group">
    <label for="exampleInputEmail">文章分类:</label>
     <select name="type_id" id="type_id" class="form-control">
     {foreach $listType as $vo}
     <OPTION value="{$vo.id}" {present name="data.type_id "}{if condition="$data.type_id eq $vo.id"} selected="selected" {/if}{/present} >{$vo.type_name}</OPTION>
     {/foreach}
     </select>
  </div>
  <div class="form-group">
    <label for="exampleInputPassword">文章封面</label>
    <!-- 
    <input type="hidden" readonly  name="cover_pic" id="cover_pic" value="{present name="data.cover_pic"}{$data.cover_pic}{/present}">
    <img id="link_add_img" src="{present name="data.cover_pic"}{$data.cover_pic}{/present}"  width="100px" heigth="100px">
    <input type="button" id="selectImg" value="选择图片" /> -->
     <label class="control-label">Select File</label>
    <input id="input-702" name="kartik-input-702[]" type="file" multiple=true class="file-loading">
  </div>
  
  <div class="form-group">
    <label for="exampleInputEmail">文章内容:</label>
     <TEXTAREA name="content" id="content"  class="form-control">{present name="data.content"}{$data.content}{/present}</TEXTAREA>
  </div>

  <input type="hidden" name="__token__" value="{$Request.token}" />
  <input type="hidden" name="id" id="id" value="{present name="data.id"}{$data.id}{/present}" />
  <button type="submit" class="btn btn-default">提交</button>
  <button type="reset" class="btn btn-default">重置</button>
</form>    

 <!-- 配置文件 -->
<script src="__ROOT__kindeditor/kindeditor-all.js"  type="text/javascript"></script>
<script src="__ROOT__kindeditor/lang/zh-CN.js"  type="text/javascript"></script>
<link rel="stylesheet" href="__ROOT__kindeditor/themes/default/default.css" />

<!-- bootstrap上传 -->
<script src="__ROOT__bootstrap/js/components/fileinput.js"  type="text/javascript"></script>
<script src="__ROOT__bootstrap/js/components/zh.js"  type="text/javascript"></script>
<link rel="stylesheet" href="__ROOT__bootstrap/css/components/fileinput.css" />

<script>
KindEditor.ready(function(K) {
    editor = K.create('textarea[name="content"]', {
        allowFileManager : true
    });
});
</script>
 <script type="text/javascript">
$(document).ready(function() {
    $('#defaultForm').bootstrapValidator({
        message: 'This value is not valid',
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },
        fields: {
            title: {
                message: 'The title is not valid',
                validators: {
                    notEmpty: {
                        message: '名称必须填写'
                    },
                    stringLength: {
                        min: 2,
                        max: 30,
                        message: '名称最短2个字最长30个字'
                    },
                }
            },
 
            content: {
                message: 'The content is not valid',
                validators: {
                    notEmpty: {
                        message: '内容必须填写'
                    },
                }
            },
        }
    });
});
</script>
<script>
$(function(){  
    $.ajax({  
       type : "post",  
       url : "/admin/article/listPic",  
       dataType : "json",  
       success : function(data) {  
        showPhotos(data);  
       },  
       error: function(XMLHttpRequest, textStatus, errorThrown) {  
              layer.msg('操作失败!');  
                   }  
   });  
     
  });  


function showPhotos(djson){  
    //后台返回json字符串转换为json对象      
    var reData = eval(djson);  
    // 预览图片json数据组  
    var preList = new Array();  
    for ( var i = 0; i < reData.length; i++) {  
       var array_element = reData[i];  
       // 图片类型  
       preList[i]= "<img width=120px src=\""+array_element.img+"\" class=\"file-preview-image\">";  
        
    }  
    var previewJson = preList;  
    // 与上面 预览图片json数据组 对应的config数据  
    var preConfigList = new Array();  
    for ( var i = 0; i < reData.length; i++) {  
       var array_element = reData[i];  
       var tjson = {
                      caption: array_element.name, // 展示的文件名  
                   width: '120px',   
                   url: '/admin/article/delPic', // 删除url  
                   key: array_element.id, // 删除是Ajax向后台传递的参数  
                   size: array_element.size,
                   extra: {id: 100}  
                   };  
       preConfigList[i] = tjson;  
    }  
    // 具体参数自行查询  
    $('#input-702').fileinput({  
        uploadUrl: '/eim/upload/uploadFile.do',  
        uploadAsync:true,  
        showCaption: true,  
        showUpload: true,//是否显示上传按钮  
        showRemove: false,//是否显示删除按钮  
        showCaption: true,//是否显示输入框  
        showPreview:true,   
        showCancel:true,  
        dropZoneEnabled: false,  
        overwriteInitial: false,
        maxFileCount: 10,  
        initialPreviewShowDelete:true,  
        msgFilesTooMany: "选择上传的文件数量 超过允许的最大数值!",  
        initialPreview: previewJson,  
        previewFileIcon: '<i class="fa fa-file"></i>',  
        allowedPreviewTypes: ['image'],   
        previewFileIconSettings: {  
            'docx': '<i class="fa fa-file-word-o text-primary"></i>',  
            'xlsx': '<i class="fa fa-file-excel-o text-success"></i>',  
            'pptx': '<i class="fa fa-file-powerpoint-o text-danger"></i>',  
            'pdf': '<i class="fa fa-file-pdf-o text-danger"></i>',  
            'zip': '<i class="fa fa-file-archive-o text-muted"></i>',  
            'sql': '<i class="fa fa-file-word-o text-primary"></i>',  
        },  
        initialPreviewConfig: preConfigList  
    }).off('filepreupload').on('filepreupload', function() {  
//                                 alert(data.url);  
    }).on("fileuploaded", function(event, outData) {  
           //文件上传成功后返回的数据, 此处我只保存返回文件的id  
           var result = outData.response.id;  
           // 对应的input 赋值  
           $('#htestlogo').val(result).change();  
    });  
}  
</script>
</script>

php部分代码

    public function listPic()
    {
        $array=array(
                0=>array('img'=>'http://www.thinkphp5.cn/uploads/image/20170609/20170609111909_15177.jpg','id'=>1,'name'=>'aa','size'=>'576237'),
                1=>array('img'=>'http://www.thinkphp5.cn/uploads/image/20170609/20170609111909_15177.jpg','id'=>2,'name'=>'bb','size'=>'932882'));
        echo json_encode($array);
    }

 

其他:ajax上传 编辑的官方演示地址

http://plugins.krajee.com/file-input-ajax-demo/3

代码中引入3个文件就可以

fileinput.css

fileinput.js

zh.js

 

posted on 2017-06-27 22:30  baker95935 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/baker95935/p/7087448.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值