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学习心得(四) 数据类 ...
随机推荐
- sublime 3打开中文乱码问题
首先到官网 https://packagecontrol.io/installation#Simple 下载一个控制台支持的扩展包Package Control.sublime-package 在su ...
- vue知识点汇总
一.学习vue必须了解的几个知识点 1.node.js介绍 node是一个让JavaScript运行在服务端的开发平台,使用JavaScript也可以开发后台服务.说明白些它仅仅是一个平台,我们使用 ...
- VS2010-MFC(菜单:菜单及CMenu类的使用)
转自:http://www.jizhuomi.com/software/212.html 上一节讲的是VS2010的菜单资源,本节主要讲菜单及CMenu类的使用. CMenu类的主要成员函数 MFC为 ...
- iOS开发之SceneKit框架--SCNLight.h
1.SCNLight简介 用于添加光源,连接到一个节点照亮现场,可以给场景添加不同的灯光,模拟逼真的环境. 2.四种灯光的简介 添加一个box立方体.一个tube圆柱管道和一个地板floor,没有灯光 ...
- 初学Servlet在IDEA中遇到的错误码问题
1.跳转页面出现500状态码 调试时出现如图所示报错: 需要进入Project Structure中进行如下操作: 点击Apply后导入,解决500问题 2.出现404状态码 一般是路径有错误或拼写错 ...
- 12_springmvc拦截器
一.定义 Spring Web MVC 的处理器拦截器类似于Servlet 开发中的过滤器Filter,用于对处理器进行预处理和后处理. 二.拦截器定义 实现HandlerInterceptor接口, ...
- 《代码整洁之道》ch1~ch4读书笔记 PB16110698 (~3.8 第一周)
<代码整洁之道>ch1~ch4读书笔记 <clean code>正如其书名所言,是一本关于整洁代码规范的“教科书”.作者在书中通过实例阐述了整洁代码带来的种种利处以及混乱代码 ...
- 2019-7-3-如何通过命令行-msbuild-编译项目
title author date CreateTime categories 如何通过命令行 msbuild 编译项目 lindexi 2019-07-03 19:12:19 +0800 2019- ...
- godaddy账号以及域名被盗找回经历以及网络信息安全的思考
本案涉及到公司的一些机密信息,因此涉及到机密信息,我都将会用一些其他的代号进行替代.不影响读者理解本案.我会按照时间顺序讲述本案经过,是如何一步步找回godaddy账号的. 我供职的公司是一家网络科技 ...
- 初探Remax微信小程序
1.创建项目 npx degit remaxjs/template-wechat my-app cd my-app && npm install 2.运行项目 npm run dev ...