thinkphp基于百度的ueditor集成阿里云oss

作者:谢高升 发布:2019-07-19 浏览:2696次

thinkphp5 基于百度的ueditor前端插件上传图片到阿里云oss

  1,下载阿里云集成包
  composer require aliyuncs/oss-sdk-php
  
  2,找到ueditor目录下的php下面的Upload.class.php里面的upFile大概在110行+的
  //创建目录失败 //移动文件 这两部分的代码全部注释掉,换成下面的代码
  
  //oss设置
        $ossconfig = [
            'KeyId' => 'xxx',
            'KeySecret' => 'xxx',
            'Endpoint' => 'xxxx',
            'Bucket' => 'xxx',
            'url' => 'xxxx',//图片完整路径的域名
        ];

        //获取文件后缀
        $file_type = substr($this->filePath, strrpos($this->filePath, '.'));
        //得到今天日期
        $today = date('Ymd', time());
        //得到文件名
        $file_name = 'image/'.$today.'/'.$this->fileName;
        //$ossconfig为获取OSS的配置信息
        //$ossconfig = $this->getOssApi();
        //实例化OSS
        $ossClient = new OssClient($ossconfig['KeyId'], $ossconfig['KeySecret'], $ossconfig['Endpoint']);
        try {
            //执行阿里云上传
            $result = $ossClient->uploadFile($ossconfig['Bucket'], $file_name, $file["tmp_name"]);
            //赋给图片路径(原代码)
          //$this->fullName = $result['info']['url'];
            //获得上传之后访问该图片的路径
            $endpoint = str_replace('http://', '', $ossconfig['Endpoint']);
            $this->ossimgurl = "https://".$ossconfig['Bucket'].".".$endpoint."/".$file_name;//ossimgurl这是自定义属性,避免以ueditor方式获得图片地址
            $this->fullName = $ossconfig['url']."/".$file_name;
            $this->stateInfo = $this->stateMap[0];
        } catch (\OSS\Core\OssException $e) {
          //$this->stateInfo = $this->getStateInfo("ERROR_FILE_MOVE");
            //将错误信息修改为阿里云上传失败的错误信息
            $this->stateInfo = $e->getMessage();
        }


标签: oss