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存储
需求背景 目前公司内部项目所支持的文件云存储方式还是公司内部项目组提供的方案,但在时间的考验之下,弊端显现,尤其是灾备切换过程中需要切换访问地址,这种操作不方便,更可能因为中间过程的失误导致资源不可用 ...
随机推荐
- Azure 中 Linux 虚拟机的大小
本文介绍可用于运行 Linux 应用和工作负荷的 Azure 虚拟机的可用大小与选项. 此外,还提供在计划使用这些资源时要考虑的部署注意事项. 本文也适用于 Windows 虚拟机. 类型 大小 说明 ...
- July 22nd 2017 Week 29th Saturday
If you are not brave enough, no one will back you up. 如果你不够勇敢,没人会替你坚强. I was told that the real man ...
- React Native for Android on Windows 配置开发安装总结
配置开发安装总结(由于当前react-native更新较快,目前是针对2015年11月底时的reacti-native android for windows版本,有些内容可能过时) 官方的安装指导在 ...
- 如何删除Word 2010中的“向下箭头”
原文:https://jingyan.baidu.com/article/e75aca85552916142edac614.html 在日常办公中,如果从网站复制了一段文字,直接粘贴到Word中时,常 ...
- CF311E Biologist
嘟嘟嘟 很显然是一道最小割模型. 做完几道题后.图的大概就能想出来了: 1.对于每一个动物,如果是0,就和s连一条边,否则向t连一条边. 2.对于每一个任务,题中要求最大利润,可以转化成最小损失. ( ...
- thrift C++ Centos 安装
1.在官方下载thrift http://thrift.apache.org/download 这里下载thrift-0.11.0.tar.gz版本 2.如果想支持安装Cpp版本就需要先安装boost ...
- 走进__proto__属性,看ie是否支持它,谁又来给他归宿
每一个引用类型的实例中,都有一个指针,指向其原型对象.这个指针在非IE浏览器里通过__proto__表示,而在IE里不提供. 看如下代码: obj = {}; obj.__proto__.toStri ...
- CI框架下 ajax分页
用做于商品详情页的评论展示: html: <script> var commodityid=<?php echo $info['commodity_id'] ?>; var u ...
- windows安装的mysql中文乱码的坑
本机装的mysql为5.6的,从代码执行的中文inert语句总是显示问号,然后在中文查询是都会报问题 今天终于解决了! 问题解决方法为: 找到my.ini文件在文件中加入 [client]defaul ...
- 并发、并行与C++多线程——基础一
1.什么是并发? 并发指的是两个或多个独立的活动在同一时段内发生.生活中并发的例子并不少,例如在跑步的时候你可能同时在听音乐:在看电脑显示器的同时你的手指在敲击键盘.这时我们称我们大脑并发地处理这些事 ...