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存储
需求背景 目前公司内部项目所支持的文件云存储方式还是公司内部项目组提供的方案,但在时间的考验之下,弊端显现,尤其是灾备切换过程中需要切换访问地址,这种操作不方便,更可能因为中间过程的失误导致资源不可用 ...
随机推荐
- css零星进阶知识点
display: inline-block: 可设置宽高的行级元素,如果inline-block元素本行无法显示完全的话则整个换行而不是里面的单词换行 position: 设置参照物,top,left ...
- DOS下常用命令
0,想进入某个驱动器,直接输入盘符即可.如:“d:”1,CD--进入指定目录 2,cls--清除显示器屏幕上的内容,使DOS提示符到屏幕左上角. 3,time--显示和设置DOS的系统时间 4,dir ...
- WBS 工作分解结构
WBS:工作分解结构(Work Breakdown Structure) 创建WBS:创建WBS是把项目 交付成果和项目工作分解成较小的,更易于管理的组成部分的过程. 主要用途WBS是一个描述思路的规 ...
- 为tcp的connect设置超时时间
struct timeval tv = {timeout, 0}; 27 setsockopt(sockfd, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(s ...
- TB5上正常使用msfconsole
在TB上使用系统自带的msfconsole,给出以下错误 [-] Failed to connect to the database: could not connect to server: Con ...
- NPM cache相关
今天下午把package.lock.json用别人的替换了,然后编译一堆报错,这个问题弄了一下午. 总结一下经验: 1.关于npm cache NPM会把所有下载的包保存,放在用户文件夹下面,在我的w ...
- pg 关于不插入重复字段的方法
首先在表的某列加入唯一约束 alter table language_pms add CONSTRAINT language_pms_unique unique(xml); insert into l ...
- 谈谈hashcode和equals的用法
HASH: Hash是散列的意思,就是把任意长度的输入,通过散列算法变换成固定长度的输出,该输出就是散列值.关于散列值,有以下几个关键结论: 1.如果散列表中存在和散列原始输入K相等的记录,那么K必定 ...
- Spring Framework5.0 学习(3)—— spring配置文件的三种形式
Spring Framework 是 IOC (Inversion of Control 控制反转)原则的实践. IoC is also known as dependency injection ...
- Python Django 分页
Python Django 分页 http://www.360doc.com/content/14/0721/17/16044571_396090985.shtml