ckeditor + ckfinder + oss存储
ckeditor 与 ckfinder 的整合方法 网上有很多,这里我也就不说了。 (主要是以前整合的现在忘记咋弄的了0.0)
我这里整合后直接使用js代码
<script type="text/javascript">
CKEDITOR.replace('content', {
filebrowserBrowseUrl: '__SYSTEM__/ckfinder/ckfinder.html',
filebrowserImageBrowseUrl: '__SYSTEM__/ckfinder/ckfinder.html?type=Images',
filebrowserFlashBrowseUrl: '__SYSTEM__/ckfinder/ckfinder.html?type=Flash',
filebrowserUploadUrl: "{:U('Public/uploadCkfinder')}",//默认插件自带的上传地址__SYSTEM__/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files',
filebrowserImageUploadUrl: "{:U('Public/uploadCkfinder')}",//默认插件自带的上传地址'__SYSTEM__/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images',
filebrowserFlashUploadUrl: "{:U('Public/uploadCkfinder')}",//默认插件自带的上传地址'__SYSTEM__/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash',
});
</script>
主要参数:filebrowserUploadUrl 地址修改了就可以。
我这里是修改成自己上传文件的地址 使用的环境 tp3.2.3的
后台上传方法:
/**
* 富文本远程上传
*/
public function uploadCkfinder(){
$upload = new \Think\Upload();
// 实例化上传类
$upload->maxSize = C('UPLOAD_FIEL_MAX_SIZE');
// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');
// 设置附件上传类型
$upload->rootPath = './uploads/';
// 设置附件上传根目录
$upload->savePath = '';
// 设置附件上传(子)目录
// 上传文件
$info = $upload->upload();
//取出第一个元素
$data = current($info);
if (!$info) {
// 上传错误提示错误信息
echo '<script type="text/javascript">
window.parent.CKEDITOR.tools.callFunction("1", "", "'.$upload->getError().'");
</script>';
} else {
//上传成功
$file = './uploads/'.$data['savepath'].$data['savename'];//文件路径,必须是本地的。
//上传本地文件到阿里oss
$ossUpload = $this->aliOssUpload( $file , $data);
if($ossUpload == '1000'){
//获取完整OSS地址 , 如果相站点下可以只获取 相对地址。
$path['path'] = get_oss_img_crop($data['savepath'].$data['savename'] );
echo '<script type="text/javascript">
window.parent.CKEDITOR.tools.callFunction("1", "'.$path['path'].'", "上传成功!" , "'.$data['savename'].' ");</script>';
exit;
} else {
echo '<script type="text/javascript">
window.parent.CKEDITOR.tools.callFunction("1", "", "上传失败");
</script>';
exit;
} }
}

//这里返回的是 完整地址,返回地址可以自己修改。

顺便付上 上传OSS方法
/**
* 阿里对象存储-文件上传
* @datatime 2018/1/19 16:20
* @author lgp
*/
private function aliOssUpload( $file = '' , $info = array() ){
if( !$file || !$info ){
return '1008';
}
// 上传成功
vendor('aliyun-oss-php-sdk-master.autoload');
$accessKeyId = C('ALI_OSS_CONFIG.accessKeyId');
$accessKeySecret = C('ALI_OSS_CONFIG.accessKeySecret');
$endpoint = C('ALI_OSS_CONFIG.endpoint');//你的阿里云OSS地址
$isCName = C('ALI_OSS_CONFIG.isCName');
$ossClient = new \OSS\OssClient($accessKeyId, $accessKeySecret, $endpoint , $isCName);
$bucket = C('ALI_OSS_CONFIG.bucket');//oss中的文件上传空间
$object = $info['savepath'] .$info['savename'];//想要保存文件的名称
//$file = './uploads/'.$info['file']['savepath'].$info['file']['savename'];//文件路径,必须是本地的。
try{
$result = $ossClient->uploadFile($bucket,$object,$file);
//上传成功,自己编码
if($result['status'] == 0){
if( C('ALI_OSS_CONFIG.unlink_file') == 1){
//是否删除本地
unlink($file);
}
return '1000';
//$this->apiReturn('1000' , $info['file']['savepath'] . $info['file']['savename'] );
} else {
//$this->apiReturn('1002');
return '1008';
} }catch (Exception $e) {
//$this->apiReturn('1002');
return '1008';
}
}
ckeditor + ckfinder + oss存储的更多相关文章
- jsp中如何整合CKEditor+CKFinder实现文件上传
最近笔者做了一个新闻发布平台,放弃了之前的FCKEditor编辑器,使用了CKEditor+CKFinder,虽然免费的CKFinder是Demo版本,但是功能完整,而且用户都是比较集中精神发新闻的人 ...
- 网络编辑器插件ckeditor+ckfinder配置
原帖地址 另外一个 去掉编辑器的下边栏 在config.js中加入: config.removePlugins = 'elementspath'; config.resize_enabled = fa ...
- 在ASP.NET项目中使用CKEditor +CKFinder实现图片上传功能
前言 之前的项目中一直使用的是FCKeditor,昨天突然有个想法:为什么不试一下新的CKEditor呢?于是花了大半天的时间去学习它的用法,现在把我的学习过程与大家分享一下. 谈起FCKeditor ...
- (配置)CKEditor+CKFinder+php上传配置,根据年月命名创建文件夹来存放
CKEditor+CKFinder+php上传配置 新版本的CKEditor只提供了基本的文本编辑功能,上传模块由另一个组件CKFinder.这里主要记录CKFinder上传的一些参数配置,能够成功上 ...
- CKEditor + CKFinder 实现编辑上传图片配置 (二)
CKEditor + CKFinder 实现编辑上传图片配置 (二) 上传图片时,如果上传的图片过大,默认情况情况下回自动裁剪,代码如图 \ckfinder\config.php 目录下的配置文件co ...
- CKEditor + CKFinder 实现编辑上传图片配置
下载最新版 ckfinder 本人下载的php版本 https://cksource.com/ckfinder/download 下载最新版ckeditor http://ckeditor.com/ ...
- .Net在线编辑器:KindEditor及CkEditor+CkFinder配置说明
Net在线编辑器:KindEditor及CkEditor+CkFinder配置说明 一.KindEditor(免费) KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所 ...
- CKEditor && CKFinder 配置
准备 ...
- Java项目接入阿里云OSS存储
需求背景 目前公司内部项目所支持的文件云存储方式还是公司内部项目组提供的方案,但在时间的考验之下,弊端显现,尤其是灾备切换过程中需要切换访问地址,这种操作不方便,更可能因为中间过程的失误导致资源不可用 ...
随机推荐
- Hadoop Federation联邦
背景概述 单 NameNode 的架构使得 HDFS 在集群扩展性和性能上都有潜在的问题,当集群大到一定程度后,NameNode 进程使用的内存可能会达到上百 G,NameNode 成为了性能的瓶颈. ...
- 24点-code1
#include <iostream> #include <string> #include <cstdlib> #include <cmath> us ...
- TC9.0新增实用接口,用AutoHotkey获取当前选中文件等信息
TC9.0的history.txt里有几行更新说明(见文章末尾),可以用SendMessage命令获取信息, 消息号是WM_USER+50(即1074),wParam则是更新说明里的内容, 下面是我简 ...
- LVM逻辑卷的管理和使用
本篇将从头到尾演示一遍逻辑卷的管理. 主要步骤 1.创建lv逻辑卷步骤 前提:先创建3个磁盘分区,类型为8e: 1.PV创建 pvcrete /dev/ ...
- 通过CXF,开发rest协议接口
1. 引入cxf的jar包 pom文件里面直接增加依赖 < dependency> <groupId > junit</ groupId> <artifact ...
- July 21st 2017 Week 29th Friday
If you want to fly too high in relation to the horizon forget. 要想飞得高,就该把地平线忘掉. Always keep our eyes ...
- July 17th 2017 Week 29th Monday
A heart is a heavy burden. 心,可是很重的. Follow your heart, but always take your brain with you. Easy to ...
- tq2440 jlink连接问题
由于工作转向做嵌入式linux平台上的手台通信协议开发,所以想系统的学习一下嵌入式linux的开发流程. 向同事借了tq2440的板子来玩,一边看书,一边做实验,看的书是<嵌入式linux基础教 ...
- D3——基本知识点
选择器: d3.select - 从当前文档中选择一个元素 d3.selectAll - 从当前文档中选择多个元素 selection.append - 创建并追加一个新元素 selection.at ...
- SpringAop之日志管理
导入的依赖均为JavaWeb界面在线配置代码生成器这篇文章,你只需将这篇文章的maven依赖导入即可. SpringAop利用注解的特性进行日志管理,只需在对应的方法上加上自己编写的注解,即可完美实现 ...