• PHP Ueditor 富文本编辑器


    2016年12月11日 08:46:59 星期日

    百度的简版富文本编辑器umeditor很久没更新了

    全功能版本的配置项跟umeditor还是有区别的, 这里说下ueditor怎么对接到项目中去, 主要说明图片上传怎么使用

    HTML:

     1 //承载编辑器
     2 <script id="container" name="content" type="text/plain"></script>
     3 
     4 
     5 //加载js
     6 <script type="text/javascript" charset="utf-8" src="<?= STATICURL ?>web/ueditor/ueditor.config.js"></script>
     7 <script type="text/javascript" charset="utf-8" src="<?= STATICURL ?>web/ueditor/ueditor.all.min.js"></script>
     8 
     9 <script type="text/javascript">
    10     //实例化编辑器
    11     var ue = UE.getEditor('container',
    12             {
    13                 initialContent:'',
    14                 initialFrameWidth:1000,
    15                 initialFrameHeight:240,
    16                 serverUrl:"<?= BASEURL ?>Home/Upload/ueUpload",
    17                 imagePath:"", //路径前缀
               imageUrlPrefix:'' //image前缀, 如果服务端返回的图片地址中有http://...那这里就留空, 此项必须有
    18 }); 19 </script>

    注意: 第16行, 要写你的PHP代码可访问链接, ueditor会自动拼接相关的参数去指明要什么东西:

    第一步: ueditor会先拼接上 ?action=config 告诉PHP返回一些配置信息,

    第二步: ueditor获取上一步返回的json配置信息后拼接上 ?action=xxx 再次请求进行图片上传

    PHP代码(上传到了阿里云)

     1 /**
     2  * 百度ueditor编辑器调用,
     3  * 对应js配置项为serverUrl
     4  */
     5 public function ueUpload()
     6 {
     7     $arg = I('get.action');
     8     switch ($arg) {
     9         case 'config':
    10             exit('{
    11                     /* 上传图片配置项 */
    12                     "imageActionName": "ueUploadImage", /* 执行上传图片的action名称 */
    13                     "imageFieldName": "ueUpfile", /* 提交的图片表单名称 */
    14                     "imageMaxSize": 2048000, /* 上传大小限制,单位B */
    15                     "imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 上传图片格式显示 */
    16                     "imageCompressEnable": true, /* 是否压缩图片,默认是true */
    17                     /* 截图工具上传 */
    18                     "snapscreenActionName": "ueUploadImage", /* 执行上传截图的action名称 */
    19                 }');
    20             break;
    21         case 'ueUploadImage': //这个值对应上个case中的ueUploadImage
    22             $oss = new Upload();
    23             $url = $oss->up('ueUpfile', 'ueditor'); //ueUpfile 对应上个case中的ueUpfild
    24             if ($oss->isOk()) { //上传成功
    25                 $rs = [
    26                     'state' => 'SUCCESS',
    27                     'url' => $url,
    28                     'title' => '',
    29                     'original' => ''
    30                 ];
    31                 $this->ajaxReturn($rs);
    32             } else { //上传失败
    33                 $rs = [
    34                     'state' => '上传图片失败',
    35                 ];
    36                 $this->ajaxReturn($rs);
    37             }
    38             break;
    39         default:
    40             exit();
    41     }
    42 }

    注意:

    1. 第12行和第21行的配置是对应的, 第13行的值就是上传的$_FILES中的表单名字

    2. 注意25~30行, 是上传成功后的返回结构(转为json返回)

    3. 注意33~35行, 是上传失败后的返回结构(转为json返回)

  • 相关阅读:
    DataTable 中varchar 转换为 Double 后重新 排序。
    asp.net 后台实现删除,划掉效果
    word2007二级标题自动编号不从大标题开始的解决方法
    asp.net 多个文件同时下载
    asp 时间倒数后按钮可用
    js获取gridview模板列中textbox行列的值
    JS错误 theForm.submit();SCRIPT3: 找不到成员。
    JS验证 只能输入小数点,数字,负数。
    关于SQLServer2008数据如何导入SQL2005的解决办法,高版本数据导入低版本中。
    asp.net中TreeView的大数据加载速度优化
  • 原文地址:https://www.cnblogs.com/iLoveMyD/p/6159031.html
Copyright © 2020-2023  润新知