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存储
需求背景 目前公司内部项目所支持的文件云存储方式还是公司内部项目组提供的方案,但在时间的考验之下,弊端显现,尤其是灾备切换过程中需要切换访问地址,这种操作不方便,更可能因为中间过程的失误导致资源不可用 ...
随机推荐
- 根据viewport的size自动调整fontsize大小
现在的网站必须要考虑mobile上访问的友好性,bootstrap作为mobile first的前端框架得到很多应用,它通过默认就使用.col-xs-xx定义的width,同时加上@media(min ...
- 初级游戏外挂编程详解 windows运行原理+游戏辅助编程 游戏外挂编程
详解游戏辅助编程 [目录] 1-什么是Windows API 2-Windows进程 3-Windows 的内存的运行原理 4-windows 中句柄的概念 5-Windows的变量类型 6-辅助实现 ...
- sql 连表
左外 右外连接 select * from tb1 left join tb2 on(tb1.id = tb2.id) select * from tb1 right join tb2 on(tb ...
- myeclipse 复制项目不包含svn或CVS目录
目前只记录到2个方法:(SVN和CVS都适用) 方法一:导出法 1.右击需要cp的目录,点击export,General/File System 2.next 3.确认你选择的目录,并勾选:Creat ...
- 看了xici有写给孩子的信,maybe我也要写给孩子一些东西了
看了xici有写给孩子的信,maybe我也要写给孩子一些东西了
- EventBus事件总线
EventBus事件总线的使用-自己实现事件总线 在C#中,我们可以在一个类中定义自己的事件,而其他的类可以订阅该事件,当某些事情发生时,可以通知到该类.这对于桌面应用或者独立的windows服务 ...
- Codeforces Round #436 (Div. 2)【A、B、C、D、E】
Codeforces Round #436 (Div. 2) 敲出一身冷汗...感觉自己宛如智障:( codeforces 864 A. Fair Game[水] 题意:已知n为偶数,有n张卡片,每张 ...
- VC++和C语言中常见数据类型转换为字符串的方法
1.短整型(int) itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制 itoa(i,temp,2); ///按二进制方式转换 2.长整型(long) lt ...
- 三十、详述使用 IntelliJ IDEA 解决 jar 包冲突的问题
在实际的 Maven 项目开发中,由于项目引入的依赖过多,遇到 jar 冲突算是一个很常见的问题了.在本文中,我们就一起来看看,如何使用 IntelliJ IDEA 解决 jar 包冲突的问题!简单粗 ...
- AngularJS 表单验证小结
注:本文所述的表单验证即AngularJS自带的表单验证,无需引入第三方的插件 一.常用的验证特性标签 1.非空 为input加入一个required属性即可,例如: <input type=& ...