fileinput使用心得
下咋以及一些具体使用过程就不叙述了,简单说一下使用时候需要注意的几点
1.在js中封装好的fileinput函数
/*
* 初始化fileInput控件(第一次初始化)
* type 不同类别
* initValue 初始化图片值 多图以,分割
* item_num 调用fileinput的元素
*/
function initFileInput(item_num, type, initValue) {
var control;
var idName;
var uploadUrl;
var initUrls;
var maxFileCount;
var initialPreviewConfig = []; if (initValue != undefined) {
initUrls = initValue.split(",");
for (var i = 0; i < initUrls.length; i++) {
initialPreviewConfig.push({
caption: 'default' + (i + 1) + '.jpg',
downloadUrl: initUrls[i],
key: i + 1
});
}
}
if (type == 0) {
idName = "#snap_img-" + item_num;
maxFileCount = 6;
control = $(idName);
uploadUrl = "http://wadev.mydaydream.com:9081/product/idea-upload";
} else if(type == 1){
idName = "#addImg-" + item_num;
maxFileCount = 1;
control = $(idName);
uploadUrl = "http://wadev.mydaydream.com:9081/product/idea-upload";
} else{
idName = "#travelInput" + item_num;
maxFileCount = 1;
control = $(idName);
uploadUrl = "http://wadev.mydaydream.com:9081/product/idea-upload";
}
var imgUrl = ''; //每一个上传图片的回调地址
control.fileinput({
initialPreview: initUrls,
initialPreviewAsData: true,
overwriteInitial: false,
language: 'zh', //设置语言
uploadUrl: uploadUrl, //上传的地址(访问接口地址)
allowedFileExtensions: ['jpg', 'gif', 'png' , 'jpeg'],//接收的文件后缀
//uploadExtraData:{"id": 1, "fileName":'123.mp3'},
uploadAsync: true, //默认异步上传
showUpload: false, //是否显示上传按钮
showRemove: false, //显示移除按钮
showPreview: true, //是否显示预览
showCaption: true,//是否显示标题
browseClass: "btn btn-primary", //按钮样式
deleteUrl: "/product/delete-image",
dropZoneEnabled: false,//是否显示拖拽区域
//minImageWidth: 50, //图片的最小
//minImageHeight: 50,//图片的最小高度
//maxImageWidth: 1000,//图片的最大宽度
//maxImageHeight: 1000,//图片的最大高度
//maxFileSize: 0,//单位为kb,如果为0表示不限制文件大小
maxFileCount: maxFileCount, //表示允许同时上传的最大文件个数
enctype: 'multipart/form-data',
validateInitialCount: true,
initialPreviewConfig: initialPreviewConfig,
previewFileIcon: "<i class='glyphicon glyphicon-king'></i>",
msgFilesTooMany: "选择上传的文件数量({n}) 超过允许的最大数值{m}!",
})
.on("filebatchselected", function (event, files) { //默认上传
$(this).fileinput("upload");
})
.on("fileuploaded", function (event, data) { //上传回调事件
imgUrl = data.response.initialUrl;
if (type == 0) { //对于不同类别分别进行处理 } else if (type == 1) { } else if (type == 2) { }
})
.on('filesuccessremove', function (event, key) { //删除回调事件
if (type == 0) { //旅行快照
removeSnapImage(key);
} else if (type == 1) { //设计理念
removeIdeaImage(idName);
} else if(type == 2){ //行程安排
removeIdeaImage(idName);
}
})
.on('filedeleted', function (event, key) { //初始化图片删除事件
if (type == 0) { //对于不同类别分别进行处理
removeSnapImage(key);
} else if (type == 1) { } else if(type == 2){ }
})
;
}
2.php中调用fileinput函数
<?php if (!$model->isNewRecord) { ?>
<?= $form->field($model, 'poster')->label('海报')->widget(
FileInput::className(), [
'options' => ['multiple' => false, 'accept' => 'image/*'],
'pluginOptions' => [
'initialPreview' => $postInitImage,
'initialPreviewAsData' => true,
'initialPreviewConfig' => $postInitImageCfg,
'previewFileType' => 'image',
'overwriteInitial' => true,
'showRemove' => true,
'showUpload' => false,
'uploadUrl' => Url::to(['poster-upload']),
'uploadExtraData' => [
'product_id' => $model->id,
],
],
"pluginEvents" => [ 回调函数分装在这里
"filebatchselected" => "function(){ $(this).fileinput(\"upload\");}" 图片自动上传
]
]
) ?>
<?php } ?>
附上fileinput官网:http://plugins.krajee.com/file-input
php对于fileinput的使用:http://demos.krajee.com/widget-details/fileinput
fileinput使用心得的更多相关文章
- [Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能
很久没有更新博客了,再不写点东西都烂了. 这次更新一个小内容,是两个插件的组合使用,实现头像上传功能. 业务需求: 头像上传功能,要对上传的文件进行剪切,且保证头像到服务器时必须是正方形的. 优化&l ...
- bootstrap fileinput 文件上传
最近因为项目需要研究了下bootstrap fileinput的使用,来记录下这几天的使用心得吧. 前台html页面的代码 <form role="form" id=&quo ...
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- NoSql数据库使用半年后在设计上面的一些心得
NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚.但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题? 这个疑惑非常大,为此我看了很多分析文章, ...
- 我的MYSQL学习心得(二) 数据类型宽度
我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(三) 查看字段长度
我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(四) 数据类型
我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(五) 运算符
我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- 我的MYSQL学习心得(六) 函数
我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
随机推荐
- css3技巧——产品列表之鼠标滑过效果translateY(三)
<div class="main"> <div class="view view-tenth"> <figure> < ...
- LUOGU P1039 侦探推理 (字符串+模拟)
传送门 解题思路 一道%你神题,\(string\)好强大啊..首先枚举一个周几,再枚举一个罪犯是谁,然后判断的时候就是枚举所有人说的话.定义\(fAKe[i]\)表示第\(i\)个人说的是真话还是假 ...
- 云-腾讯云-云通信:云通信(IM)
ylbtech-云-腾讯云-云通信:云通信(IM) 企业数字化转型的通信助手,让通信触达全球,智联万物 1.返回顶部 1. 云通信(Instant Messaging,IM)承载亿级 QQ 用户即时通 ...
- day19_生成器
20180730 初次上传 20180731 更新,4.列表生成式,以及部分注释 #!/usr/bin/env python # -*- coding:utf-8 -*- # ************ ...
- 左神算法基础班5_1设计RandomPool结构
Problem: 设计RandomPool结构 [题目] 设计一种结构,在该结构中有如下三个功能: insert(key):将某个key加入到该结构,做到不重复加入. delete(key):将原本在 ...
- 【Uva 12128】Perfect Service
[Link]: [Description] 给你n个机器组成的一棵树,然后,让你在某些机器上安装服务器. 要求,每个机器如果没有安装服务器,都要恰好和一个安装了服务器的机器连接. 问你,最少要安装多少 ...
- Intel RealSense Depth Camera D435安装ROS 驱动——Ubuntu16.04
官方教程 软件包下载链接 https://github.com/IntelRealSense/realsense-ros Download/Clone librealsense github repo ...
- DuiLib学习笔记3.颜色探究
在前面两篇日志已经能使用xml了.今天准备好好的折腾一番,结果在颜色上却掉坑里了. 起初我在ps里取颜色为0104ff 这里01为R,04为G,ff为B 在控件的属性里有这样一个属性bkcolor=& ...
- duilib教程之duilib入门简明教程5.自绘标题栏
如果大家有做过标题栏的自绘,肯定会感慨各种不容易,并且现有的一些资料虽然完美的实现了功能,但是代码比较乱,需要自行整理.如果用duilib,就是小case啦. duilib其实并没有区分标题栏和 ...
- 正则获取html标签字符串中图片地址
html标签字符串: var htmlStr = "<div class='testClass'><img=http://www.chinanews.com/part/ho ...