我使用百度ueditor编辑器  需要把编辑器图片以及文件也需要上传到阿里云oss,那么我们需要怎么做呢

1、去ueditor官网下载php版的ueditor选择对应的版本https://ueditor.baidu.com/website/download.html

2、具体怎么安装怎么使用请参考其他教程。

3、我们需要打开在ueditor下的php文件夹下的Uploader.class.php文件,然后我们找到大约110行左右//创建目录失败和移动文件这两个if语句,我们把这两段代码给注释掉,我们写上传到阿里云oss的方法,上代码。


 $ossconfig = [
            'KeyId'      => '你的akid',  //您的Access Key ID
            'KeySecret'  => '你的aks',  //您的Access Key Secret
            'Endpoint'   => '你的阿里云外网地址',  //阿里云oss 外网地址endpoint
            'Bucket'     => '你的Bucket',  //Bucket名称

        ];

        //获取文件后缀
        $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'],'shu1qingdao/diguahome.net/ueditor/'. $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->stateInfo = $this->stateMap[0];
        } catch (OssException $e) {
//          $this->stateInfo = $this->getStateInfo("ERROR_FILE_MOVE");
            //将错误信息修改为阿里云上传失败的错误信息
            $this->stateInfo = $e->getMessage();
        }
以上上传方法我们就写完了,根据实际情况加以修改


4、我们需要修改config.json文件,该文件在ueditor/php/config.json,我们打开此文件需要修改imageUrlPrefix和imagePathFormat这两个属性:

我们在写imageUrlPrefix属性值时需要填写外网访问域名Bucket,不能填写域名节点

以上是修改编辑器图片上传阿里云oss的方法,亲测有效,更多技术文章欢迎关注:极客园

点赞(1) 打赏

Comment list 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部