ckeditor + ckfinder + oss存储

匿名 (未验证) 提交于 2019-12-02 22:11:45

我这里整合后直接使用js代码

      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',      });  

主要参数: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 '                         window.parent.CKEDITOR.tools.callFunction("1", "", "'.$upload->getError().'");                     ';         } 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 '                         window.parent.CKEDITOR.tools.callFunction("1", "'.$path['path'].'", "上传成功!" , "'.$data['savename'].' ");';                 exit;             } else {                 echo '                         window.parent.CKEDITOR.tools.callFunction("1", "", "上传失败");                     ';                 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';         }     }

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!