zoukankan      html  css  js  c++  java
  • 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 ThinkUpload();
            // 实例化上传类
            $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 OSSOssClient($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';
            }
        }


  • 相关阅读:
    测试的对自己的要求要高,你自己对测试质量的要求太低了,测试这里放松一下,问题就会放大几倍!!!!测试是最后的质量防线了
    第二阶段:Linux和Bash脚本课程---第五讲:Bash脚本编写
    第二阶段:Linux和Bash脚本课程---第四讲:Bash编程语法
    第二阶段:Linux和Bash脚本课程---第三讲:Linux三剑客与管道使用
    第二阶段:Linux和Bash脚本课程---第二讲:Linux常用命令 (文件/网络/性能)
    selenium 设置cookie,Proxy代理
    request + beautifulsoup + openpyxl + 使用
    给cc爬取一下百度的榜单
    mac电脑-python虚拟环境的维护
    记录一次现网问题定位-5月12号
  • 原文地址:https://www.cnblogs.com/inkwhite/p/8582077.html
Copyright © 2011-2022 走看看