ThinkPHP3.1.3 整合 UEditor百度编辑器 图片上传
第一步、前端模板实例化百度编辑器
<js file='__ROOT__/Data/UEditor/ueditor.config.js' />
<js file='__ROOT__/Data/UEditor/ueditor.all.min.js' />
<js file='__ROOT__/Data/UEditor/lang/zh-cn/zh-cn.js' />
<script type="text/javascript">
window.UEDITOR_HOME_URL = '__ROOT__/Data/UEditor/'; // 添加编辑器实例所在的路径
window.onload = function(){
window.UEDITOR_CONFIG.initialFrameWidth = 1000; // 设置编辑器宽度
window.UEDITOR_CONFIG.initialFrameHeight = 600; // 设置编辑器高度
window.UEDITOR_CONFIG.serverUrl = "{:U(GROUP_NAME . '/Blog/upload')}"; // 服务器统一请求接口路径
UE.getEditor('container'); // 实例化编辑器,container是要实例化的网页元素id
}
</script>
第二步、后台Tp处理图片上传
// 编辑器图片上传处理
public function upload(){
// 修正UE后台配置文件config.json的路径
$config = json_decode(preg_replace("/\/\*[\s\S]+?\*\//", "", file_get_contents("./Data/UEditor/php/config.json")), true);
$action = $_GET['action'];
switch ($action) {
case 'config':
$result = json_encode($config);
break;
case 'uploadimage':
case 'uploadscrawl':
case 'uploadvideo':
case 'uploadfile':
// 调用ThinkPHP的UploadFile类
import('ORG.Net.UploadFile');
$upload = new UploadFile($config);
$upload->autoSub = true; // 启用子目录存储
$upload->subType = 'date'; // 子目录存储名为日期
$upload->dateFormat = 'Ym'; // 日期格式:Ym,如:201701 if($upload->upload('./Uploads/')){
$info = $upload->getUploadFileInfo();
// 图片加水印
// import('Class.Image', APP_PATH);
// Image::water('./Uploads/' . $info[0]['savename'], './Data/logo.png'); // 编辑返回数据格式(参考UE源码文件夹下/php/action_upload.php文件)
echo json_encode(array(
'state' => 'SUCCESS', // 上传状态,上传成功时必须返回"SUCCESS"
'url' => __ROOT__ . '/Uploads/' . $info[0]['savename'], // 返回的地址
'title' => $info[0]['name'] , // 新文件名
'original' => $info[0]['name'], // 原文件名
'type' => $info[0]['type'], // 文件类型
'size' => $info[0]['size'] //文件大小
));
}else{
echo json_encode(array('state'=>$upload->getErrorMsg()));
}
break;
default:
$result = json_encode(array('state' => '请求地址出错'));
break;
}
/* 输出结果 */
if (isset($_GET["callback"])) {
if (preg_match("/^[\w_]+$/", $_GET["callback"])) {
echo htmlspecialchars($_GET["callback"]) . '(' . $result . ')';
}else {
echo json_encode(array('state' => 'callback参数不合法'));
}
}else {
echo $result;
}
}
ThinkPHP3.1.3 整合 UEditor百度编辑器 图片上传的更多相关文章
- ueditor 百度编辑器图片上传 接 node.js 及一些前端自定义
百度编辑器 用node.js 做服务端 demo 大神已整理的 记录一下 以作参考 https://github.com/netpi/ueditor 1. 前端图片工具栏上传input file在这里 ...
- Thinkphp整合阿里云OSS图片上传实例
Thinkphp3.2整合阿里云OSS图片上传实例,图片上传至OSS可减少服务器压力,节省宽带,安全又稳定,阿里云OSS对于做负载均衡非常方便,不用传到各个服务器了 首先引入阿里云OSS类库 < ...
- 【HTML5+MVC4】xhEditor网页编辑器图片上传
准备工作: 创建一个MVC项目中,添加好xhEditor插件 相关用法:http://www.cnblogs.com/xcsn/p/4701497.html 注意事项:xhEditor分为v1.1.1 ...
- UMEditor(Ueditor mini)修改图片上传路径
UMEditor(Ueditor mini)修改图片上传路径 imageUp.ashx string pathbase = "/UpLoad/images/"; //保存文件夹在网 ...
- SpringMVC:学习笔记(10)——整合Ckeditor且实现图片上传
SpringMVC:学习笔记(10)——整合Ckeditor且实现图片上传 配置CKEDITOR 精简文件 解压之后可以看到ckeditor/lang下面有很多语言的js,如果不需要那么多种语言的,可 ...
- SpringBoot整合Fastdfs,实现图片上传(IDEA)
我们部署Fastdfs,就是为了实现文件的上传. 现在使用idea整合Fastdfs,实现图片上传 部署环境:Centos7部署分布式文件存储(Fastdfs) 利用Java客户端调用FastDFS ...
- 百度开源富文本编辑器 UEditor配置:图片上传和文件上传独立使用方法
使用UEditor编辑器自带的插件实现图片上传和文件上传功能,这里通过配置UEditor单独使用其内置的第三方插件swfupload来实现图片和文件的上传,通过对UEditor配置轻松实现图片批量上传 ...
- DEDECMS:DEDE整合(UEditor)百度编辑器以后,栏目内容、单页无法保存内容的bug处理方法
已经整合过百度编辑器的站长们或许会发现,在编辑单页文档和栏目内容的时候,百度编辑器不能够保存新增或已修改数据,经过排查后发现问题出现在catalog_edit.htm.catalog_add.htm这 ...
- 关于富文本编辑器—UEditor(java版)的使用,以及如何将UEditor的文件/图片上传路径改成绝对路径
突然发现好久没写博客了,感觉变懒了,是要让自己养成经常写文章的习惯才行.既可以分享自己的所学,和所想,和大家一起讨论,发现自己的不足的问题. 大家可能经常会用到富文本编辑器,今天我要说的是UEdito ...
随机推荐
- 命名空间(namespace)// 友元函数
17.2.命名空间 命名空间(namespace)为防止名字冲突提供了更加可控的机制.命名空间能够划分全局命名空间,这样使用独立开发的库更加容易了.一个命名空间就是一个作用域,通过在命名空间内部定义库 ...
- [洛谷P4248][AHOI2013]差异
题目大意:给一个长度为$n$的字符串,求: $$\sum\limits_{1\leqslant i<j\leqslant n}|suf_i|+|suf_j|-2\times lcp(suf_i, ...
- java.util.Stack类简介(栈)
Stack是一个后进先出(last in first out,LIFO)的堆栈,在Vector类的基础上扩展5个方法而来 Deque(双端队列)比起stack具有更好的完整性和一致性,应该被优先使用 ...
- BZOJ3673 & BZOJ3674 & 洛谷3402:可持久化并查集——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=3673 https://www.lydsy.com/JudgeOnline/problem.php? ...
- 51nod 1274 最长递增路径(DP)
一开始自己想了一种跑的巨慢..写了题解的做法又跑的巨快..一脸懵逼 显然要求边权递增就不可能经过重复的边了,那么设f[i]为第i条边出发能走多远就好了,这是我一开始的写法,可能dfs冗余状态较多,跑的 ...
- android内核源码下载和编译
1.下载编译 新建kernel目录 ~/srcAndroid/src4.4.4_r1/kernel目录下,输入命令: seven@ThinkPad:~/srcAndroid/src4.4.4_r1/k ...
- 2-17作业 数据库和shell综合练习
1. 使用shell把“12306用户名和密码库-不要使用记事本打开会卡死-解压后可使用word或ultraedit打开.rar”中的所有记录成生sql语句,然后把sql导入数据库,成一个uPwd_1 ...
- HDU 5640
King's Cake Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total ...
- CCPC-Winter Camp div2 day8 A
---恢复内容开始--- 题目: 题解: 我们考虑第i个叶子节点的情况,根据题目给的输入条件,我们可以知道,深度大的节点的序号一定是大于深度浅的节点的序号的 如图 题目要求我们找出每一个叶子节点距离编 ...
- Leetcode 381. O(1) 时间插入、删除和获取随机元素 - 允许重复
1.题目描述 设计一个支持在平均 时间复杂度 O(1) 下, 执行以下操作的数据结构. 注意: 允许出现重复元素. insert(val):向集合中插入元素 val. remove(val):当 va ...