Yii2上传图片插件使用
例子:
1.在表单中:
<?php $form = \yii\widgets\ActiveForm::begin([
'options'=>[
'class' => 'form-horizontal',
'enctype' => 'multipart/form-data'
],
'fieldConfig' => [
'template' => '{input}{error}',
'options' => ['class' => 'form-field'],
],
]); ?>
注意:上传图片必须修改表单提交必须是以二进制数据流的形式;必须配置
'enctype' => 'multipart/form-data'
<?= $form->field($model, 'wms_check_certificate')->label("差异清单截图")->widget(\kartik\widgets\FileInput::className(), [
'options' => [
'accept' => 'image/jpg, image/jpeg, image/png, image/gif',
'multiple' => false,
],
'pluginOptions' => [
'previewFileType' => 'image',
'initialPreview' => !empty($model->wms_check_certificate) ? $model->wms_check_certificate : "",
'initialPreviewConfig'=>[],
'overwriteInitial'=>true,
'initialPreviewAsData' => true,
'uploadUrl' => \yii\helpers\Url::toRoute(['upload']),
'uploadExtraData' => ['id'=>$model->id],
'allowedFileExtensions' => ['jpg', 'png','gif', 'jpeg'],
'uploadAsync' => true,
'minFileCount' => 0,
'maxFileCount' => 1,
'showRemove' => true,
'showUpload' => true,
'showBrowse' => true,
'showPreview' => true,
'showCaption' => false,
'browseOnZoneClick' => true,
'fileActionSettings' => [
'showZoom' => true,
'showUpload' => true,
'showRemove' => true,
],
],
'pluginEvents' => [
"fileclear" => "function() { $('#wmscheck-wms_check_certificate').val(''); }",
"fileuploaded" => "function (event, data, id, index) {
console.log(data);
}",
],
]) ?>
注意:
'accept' => 'image/jpg, image/jpeg, image/png, image/gif', 指的是上传的文件的格式必须是jpg,png和gif
'multiple' => false,指的是不支持上传多个文件
'previewFileType' => 'image',指的是上传的文件必须是图片
'initialPreview' => !empty($model->wms_check_certificate) ? $model->wms_check_certificate : "",指的是刚进入页面时默认显示的文件
'uploadUrl' => \yii\helpers\Url::toRoute(['upload']),指的是上传文件的ur地址
'uploadExtraData' => ['id'=>$model->id],指的是上传文件时附带的数据
'allowedFileExtensions' => ['jpg', 'png','gif', 'jpeg'],指的是支持的文件后缀
'uploadAsync' => true,指的是是否以异步形式上传
'showUpload' => true,是否显示上传按钮
'showBrowse' => true,是否显示打开文件对话框按钮
'showRemove' => true,是否显示移除按钮
'showCaption' => false,是否显示方法查看按钮
2.在后台处理上传:
public function actionUpload(){
$id = $_REQUEST['id'];
if(!empty($_FILES['WmsCheck']['tmp_name']['wms_check_certificate'])){
$wms_check_certificate = \common\models\Base::uploadCloud($_FILES['WmsCheck']['tmp_name']['wms_check_certificate'], $_FILES['WmsCheck']['name']['wms_check_certificate'], 'wms');
$model = \core\models\WmsCheck::findOne(['id'=>$id]);
if (empty($model)){
echo json_encode(['msg'=>false]);
}else{
$model->wms_check_certificate = $wms_check_certificate;
$save_handler = $model->save(false);
echo json_encode(['msg'=>$save_handler]);
}
}else{
echo json_encode(['msg'=>false]);
}
}
Yii2上传图片插件使用的更多相关文章
- 如何写一个Js上传图片插件。
项目里面需要一个上传图片的插件,找了半天没有找到满意的,算了 不找了,自己写一个吧,顺便复习一下js方面的知识.完成之后效果还不错,当然还要继续优化,源码在最后. 介绍一种常见的js插件的写法 ; ( ...
- Typora-yes:typora最舒适的使用-优化主题+图床服务+自动上传图片插件
转载注明出处:https://www.cnblogs.com/nreg/p/11992678.html,谢谢 开源项目下载:https://github.com/nreg/typora-yes 云盘: ...
- jquery上传图片插件plupload
官方网站:http://plupload.com/ jquery.plupload.queue插件,是上传图片组件很强大的插件.plupload 前端根据浏览器不同选择使用Html5. Gears, ...
- yii2 开源插件与系统
yii2干货集:https://github.com/forecho/awesome-yii2 商城 samdark/yii2-shop composer global require "f ...
- ssi-uploader上传图片插件,点击选择文件按钮自动提交表单解决办法
先介绍一下这款插件,然后再谈使用中可能遇到的问题 ssi-uploader是一个JQuery的图片上传插件,界面比较美观 github地址:https://github.com/ssbeefeater ...
- window yii2 安装插件 报yiisoft/yii2 2.0.x-dev requires ext-mbstring错
Problem 1 - yiisoft/yii2 2.0.x-dev requires ext-mbstring * -> the requested PHP extens ion mbstri ...
- yii2: 上传图片,生成目录
1.单个文件上传 首先建立一个模型models/UploadForm.php,内容如下 namespace app\models; use yii\base\Model; use yii\web\Up ...
- vue封装原生的可预览裁剪上传图片插件H5,PC端都可以使用
思路:1.先做出一个上传的图片的上传区 <!-- 上传区 --> <label for="fileUp"> <div class="upBo ...
- JQuery 复制粘贴上传图片插件(textarea 和 tinyMCE)
开源地址:https://github.com/yuezhongxin/paste-upload-image.js 支持 Ctrl+C/Ctrl+V 上传,支持拖拽上传,也支持 QQ/微信截图上传. ...
随机推荐
- ogg-01027(长事务)
OGG-01027(长事务) 示例9-25: WARNING OGG-01027 Long Running Transaction: XID 82.4.242063, Items 0, Extra ...
- RMAN_RAC归档日志备份包恢复到单机
恢复归档日志的方法: RAC是ASM的存储且是OMF创建的格式,所以RAC的日志名为如下+ARCH/mioa/archive/1_73554_875548170.dbf.+ARCH/mioa/arch ...
- FineUIPro v3.6.0 发布了(3 年助力 200 家企业的信息化建设)!
FineUI(专业版)自从 2014-07-30 发布第一个版本以来,3 年来已经持续更新了 25 个版本,我们的坚持有目共睹,同时也受到了 200 家企业的青睐和信任,感谢一路有你. FineUI( ...
- python实战案例--银行系统
stay hungry, stay foolish.求知若饥,虚心若愚. 今天和大家分享一个python的实战案例,很多人在学习过程中都希望通过一些案例来试一下,也给自己一点动力.那么下面介绍一下这次 ...
- flask请求流程详解
先看一个流程图: 1.当一个请求进入的时候,Flask框架首先会实例化一个Request Context,封装了请求信息,保存在Request中.生成请求上下文后,Flask框架会将请求上下文推入到_ ...
- 实现多个标签页之间通信的几种方法(sharedworker)
效果图.gif prologue 之前在网上看到一个面试题:如何实现浏览器中多个标签页之间的通信.我目前想到的方法有三种:使用websocket协议.通过localstorage.以及使用html ...
- 搜狐畅游一面(c++)
上来是个小姐姐,有点懵.. 1. 介绍 2. 项目 3. 实习 4. 用的协议 tcp和udp的协议 5. select 和epoll(忘了) 6. 数据库的隔离级别, 死锁, 怎么避免死锁 ...
- 单链表的基本操作--c++
#include <iostream> //实现单链表的建立,测长和打印 #include <string> using namespace std; struct node ...
- sort 快排解决百万级的排序
问题:给n个整数,按从大到小的顺序,输出前m大的整数0<m,n<1000000,每个整数[-500000,500000]输入:5 33 -35 92 213 -644输出:213 92 3 ...
- Python学习第五篇——如何访问字典
# the example_1 aim to tell how to use dctionary,and how to access list or dictionary infos={"f ...