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学习心得(四) 数据类 ...
随机推荐
- FP function programming
fp是函数式编程,也是一种编程方法,同面向对象的编程方法一样. 所谓的functional programming 就是函数式编程,这也是一种编程方法,或者说是编程模式,同面向过程的编程,以及面向对象 ...
- Mac+VS Code+Git+Github
https://blog.csdn.net/qq_37747262/article/details/81750417
- c# sleep 例子
using System; using System.Threading; public class arr { public static void Main() { //int[] arr; // ...
- 集中式日志分析平台 - ELK Stack - 安全解决方案 X-Pack
大数据之心 关注 0.6 2017.02.22 15:36* 字数 2158 阅读 16457评论 7喜欢 9 简介 X-Pack 已经作为 Elastic 公司单独的产品线,前身是 Shield, ...
- java编程规约三
七.集合处理 1.尽量使用String对象做Map的key 2.list转数组,用list的toArray(T[] array),传入的参数array是类型完全一样的数组,大小是list.size() ...
- 常用终止python程序方法
方法1:采用sys.exit(0)正常终止程序,从图中可以看到,程序终止后shell运行不受影响. 方法2:采用os._exit(0)关闭整个shell,从图中看到,调用sys._exit(0)后整个 ...
- java_增强for循环
增强for循环(foreach): 底层使用了迭代器,简化了迭代器的书写 JDK1.5新特性 所有的单列集合都可以使用增强for循环 for(集合/数组 的数据类型 变量名 : 集合名/数组名) pu ...
- Programming | 变量名的力量
命名准则 变量名要完全,准确的描述变量所代表的事物,一般而言,对变量的描述就是最佳的变量名.避免x,temp,i等泛泛而谈的变量名. 比如对于矩阵的循环,matrix[row][col]就比m[i][ ...
- uoj60 怎样提高智商
题意:你需要构造n个四项选择题.格式为:问在前i个问题中选了几个hi字母? 输出有最多正确答案的构造方案. 标程: #include<cstdio> using namespace std ...
- 使用Cookie实现显示用户上次访问时间
一. 常用Cookie API介绍 1. 获取cookie request.getCookies(); // 返回Cookie[] 2. 创建cookie Cookie(String key, St ...